我有一些我想要提交的文件,但是计划将它们提交给较小的组,以便在我想要查看/回滚的情况下拥有干净的历史记录。我去了一个子集,但意识到我错过了一个。当git commit运行时,我做了一个Ctrl + C键盘中断(杀死进程的本能,显然不是正确的移动)。我发现git擦了我的本地文件&在历史上完全迷失了,以至于我不得不删除当地的分支机构。再拉一次我无法在任何地方找到我的文件,即使使用git fsck&看着所有悬空的斑点/提交。
我认为这个问题的答案是,“是的,不要那样做”,但是如果其他人犯过同样的错误但碰巧知道恢复的方法,那就很好奇。最终失去了一堆工作。
深夜绝对会弄得一团糟。 : - )
答案 0 :(得分:0)
只有当您执行git commit -a -m "a commit message"
(或某种别名)时才会发生这种情况。
避免这种情况的最佳方法是添加,然后提交。
添加的最佳方式(对我来说)是使用--patch选项:
git add -p
这样,我不仅可以按文件添加文件,还可以在每个修改后的文件中按块添加块,以便进行连贯的提交。