项目中使用了eslint,以及lint-staged,在执行git commit时会触发 git 的pre-commit钩子,对代码做一次检查及格式化。由于个别文件中有定义但未使用得变量,导致commit失败,并抛出了具体文件路径,当我在命令行点击路径时发现新增得文件没了(.js、.vue、图片),仔细一看引用过这些文件得代码也没了,比如路由表中得代码。...
1. 最后,手动还原,点进去每一个文件,有些可能是一些空文件,有一些正好是你丢失的文件,需要自己手动加回到正确的位置。
git 通过husky提交代码报错导致代码丢失(只add了未commit的代码) 项目中使用了eslint,以及lint-staged,在执行git commit 时会触发 git 的 pre-commit 钩子,对代码做一次检查及格式化。由于个别文件中有TS报错,导致commit失败,并抛出了具体文件路径,当我在命令行点击路径时发现新增得文件没了(.ts、.vue、图片),仔细...
可以使用git reset --hard ID命令,直接恢复commit到指定的提交时刻。 git reflog查看git提交记录 image 如上,可以直接看到需要恢复到的commit ID是多少。比如恢复到Id为71add05的时刻,执行git reset --hard 71add05等待恢复。本地仓库和文件就能恢复到指定提交时刻。 恢复指定的某次commit成功。 git rebase 成功之...
`git reflog`命令会列出仓库的引用日志,包括所有的分支、标签和提交。通过查找你之前的提交,找到你删除分支的提交ID(commit-id),然后使用`git branch`命令将该分支恢复,并重新命名为你之前使用的分支名称(branch-name)。 ### 2. 检查远程仓库 如果在本地仓库中没有找到代码,那么可能是你提交的代码未被推送到远程...
回到A仓库,在git add 的基础上调用commit生成一个提交。 再查看暂存区: 与status的提示不同,提交操作并不会实际清空暂存区,其中始终保存着工作目录的文件结构。 再查看对象文件夹,发现两个新增文件。 接下来我们在另一个仓库重现这个操作。 回到B仓库,继续执行 git write-tree。
代码丢失 估计是受👆的影响,虽然我记得我commit了 甚至还push到远程了,但是!!当我时隔两天再次回来开发的时候,代码没了(因为我中间重启过电脑😢。。。)。情况呢就是这么个情况,好在.git出现问题之前我应该是add过,还有救,接下来是自救的过程: 第一步:找到之前add过的文件,有以下几种方法 ...
1. 重建index文件:可以通过使用git add命令逐个将变更的文件重新添加到暂存区,然后执行git commit命令来重新构建index文件。这种方法适用于文件数量不多的情况。 2. 使用git reset命令:可以使用git reset命令来重置当前分支的指针和暂存区。执行命令git reset –mixed HEAD将指针和暂存区重置到最近的一次提交。这将会清...
更新完成后,在IDEA中单击菜单VCS-Commit...创建本次提交。 1.3 推送远程分支 然后单击VCS-Git-Push...推送至远程分支。 2、常见问题分析 在上面的3步执行步骤中,第2步和第3步发生意外的风险最高,最常见的两种意外情况是冲突和文件占用,下面我们分别讨论。