【问题标题】:How to find commit which merged feature branch to master [duplicate]如何找到提交哪个合并的功能分支来掌握 [重复]
【发布时间】:2019-04-28 08:57:10
【问题描述】:

我正在尝试解决一个 git 之谜。在已合并到 qa 的功能分支上进行的提交意外地出现在 master 上。最后推送到 master 的开发人员说他们在推送之前没有将 qa 或功能分支合并到 master 中。我也没有看到显示“将分支 'qa' 合并到 'master' 的合并提交”。

是否有 git 命令可以显示单个提交的合并历史记录?

【问题讨论】:

  • 历史是一系列提交。 history for single commit 被问错了问题,所以请修正标题。
  • @MarekR 我不知道该怎么说。你有什么建议吗?

标签: git


【解决方案1】:

有多种方法可以确定发生了什么。 第一个是:

git log

您可能对这个很熟悉,因为您提到您还没有看到任何合并到主消息。 第二个是:

git blame

这将允许您检查文件中的每一行并确定提交的内容以及它是由哪个用户插入的。 除了这些命令,如果你的 repo 在 GitLab 或类似的 repo 系统上,他们有工具可以在他们的主机网站上查找这些信息。 如果您有任何问题,请告诉我。

【讨论】:

    【解决方案2】:

    git log 包含您要查找的信息,但可能很难找到。减少它的一种方法是跟踪该提交的单个更改。

    首先,找到该提交中其中一行的当前位置,记下您正在跟踪的提交中更改的行号:

    git blame <file>
    

    然后跟踪该更改发生的所有事情:

    git log --graph --oneline -l <line>:<file>
    

    您可以通过仅显示自提交以来的更改来进一步配对:

    git log --graph --oneline -l <line>:<file> <commit>~..master
    

    这应该可以更容易地跟踪将提交提交到 master 中发生的事情。

    【讨论】:

      猜你喜欢
      • 2012-06-02
      • 2023-02-07
      • 2023-03-23
      • 2013-07-25
      • 2015-05-27
      • 2019-08-05
      • 1970-01-01
      • 2016-11-25
      • 2015-12-22
      相关资源
      最近更新 更多