我正在尝试解决git的奥秘。在功能分支上进行的一次提交已合并到qa上的提交意外显示在master上。最后推送到master的开发人员说,他们在推送之前没有将qa或功能分支合并到master中。我也没有看到显示“将分支'qa'合并到'master'中”的合并提交。
是否有一个git命令将显示单个提交的合并历史记录?
答案 0 :(得分:0)
有多种方法可以确定发生了什么。 第一个是:
git log
您可能很熟悉这一点,因为您提到您还没有看到任何合并到主邮件的消息。 第二个是:
git blame
这将使您可以遍历文件中的每一行,并确定提交的内容以及提交的对象。 除了这些命令之外,如果您的存储库位于GitLab或类似的存储库系统上,它们还具有在其宿主网站上查找该信息的工具。 如果您有任何问题,请告诉我。
答案 1 :(得分:0)
git log
包含您要查找的信息,但是可能很难找到。减少它的一种方法是跟踪该提交中的单个更改。
首先,找到该提交中其中一行的当前位置,记下与您正在跟踪的提交相比更改的行号:
git blame <file>
然后跟踪该更改所发生的一切:
git log --graph --oneline -l <line>:<file>
您可以通过仅显示自提交以来的更改来进一步将其配对:
git log --graph --oneline -l <line>:<file> <commit>~..master
这应该可以更轻松地跟踪将提交提交到主服务器的过程。