【问题标题】:Merge issues in GIT - File changes which are in a Merge commit vanished from a branch after a commitGIT 中的合并问题 - 合并提交中的文件更改在提交后从分支中消失
【发布时间】:2015-10-03 09:58:42
【问题描述】:

我们有一个名为 BranchMaster 的分支。我们曾经将代码从同一个分支下合并到另一个名为 BranchDev 的分支。

最近我们已经从 BranchMaster 向下合并到 BranchDev。在合并提交中,它有很多文件更改。之后,分支 BranchDev 中发生了很多提交。其中一个提交是与我团队中其他人完成的另一个提交的合并提交。在最后一次合并提交之后,第一次合并提交中的所有文件更改都消失了。我不确定为什么/如何。

有人可以帮忙吗?

【问题讨论】:

    标签: git version-control merge atlassian-sourcetree


    【解决方案1】:

    如果有文件被删除,请使用git blame --reverse <old_commit>..<new commit> <name of file>

    要查找已删除的行,如果您知道它们的位置,可以使用 git log -S <deleted string> <filename>

    使用git reflog 也是一种选择,但它只会帮助查找已删除的提交。作为新提交的一部分的代码删除与删除提交不同。您应该检查 reflog 条目是否已过期或已清除。

    【讨论】:

      【解决方案2】:

      使用gitksourcetree 检查哪个提交负责删除文件。

      此外,您可以在任何时间撤消任何提交。执行以下操作。

      git reflog
      

      这将为您提供提交的负责人列表。您可以通过键入以下命令来恢复任何提交。

      git reset --hard HEAD@<i>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-05-10
        • 1970-01-01
        • 2019-07-14
        • 2017-01-24
        • 2021-06-26
        • 2012-08-31
        • 1970-01-01
        相关资源
        最近更新 更多