0

最近在我的团队中发生了一个新人试图做一个 git pull。系统上出现了一些冲突,之后开发人员只需执行 git reset (将索引带到最后一个 HEAD)。然后开发人员“提交”了一个文件更改并将其推送到远程。自然丢失了很多变化。

然而,我们花了相当长的时间来弄清楚谁做了错误的更改(以及哪个提交是错误的提交),并且恢复它是一大堆不同的努力。现在在 git 历史记录中(使用 gitk 或 git log)git 只显示已提交的文件,但这是覆盖先前文件的情况(我知道这个概念更多的是 CVS 而不是 git,在这种情况下文件已被移至先前的提交)。在这种情况下调试的最佳策略是什么?

一旦我们知道哪个分支有问题,一旦我在好提交和坏提交之间进行 git diff,我可以看到文件列表,但只查看特定提交,我们可以找出哪些文件已移至上一个提交。

如果问题没有完全澄清,我们深表歉意。

4

1 回答 1

0

Take a look at the output of git log -p branch-in-question and you will see changes made, file by file. You can now act accordingly by doing git checkout <some commit> -- some files to get the branch straight again. Add all the changes and commit and push. You should be good from here on.

于 2012-01-23T16:56:47.740 回答