git重置提交和推送问题

时间:2012-01-23 15:10:05

标签: git git-reset

最近我的团队发生了一个新鲜尝试做git pull的事。系统上出现了一些冲突,之后开发人员只是进行了git重置(将索引置于最后一个HEAD)。然后开发人员“提交”了一个文件更改并将其推送到远程。当然,很多变化都丢失了。

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

一旦我们知道哪个分支冒犯了一个,一旦我在好的和坏的提交之间执行git diff我可以看到文件列表但只查看特定的提交,我们能找出哪些文件已被移动到之前的提交

如果问题没有完全澄清,请道歉。

1 个答案:

答案 0 :(得分:0)

查看git log -p branch-in-question的输出,您将看到逐个文件所做的更改。现在,您可以通过执行git checkout <some commit> -- some files来相应地采取行动,以便再次实现分支。添加所有更改并提交并推送。你应该从这里开始。