【问题标题】:git reset commit and push issuegit reset 提交和推送问题
【发布时间】:2012-01-23 15:10:05
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: git git-reset


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-01-05
      • 2022-01-19
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 2010-12-19
      • 2011-04-14
      • 1970-01-01
      • 2019-04-05
      相关资源
      最近更新 更多