一旦快进合并发生,如何获取git分支(起始点)的历史记录

时间:2014-03-29 12:04:35

标签: git version-control github merge fast-forward

我开发了一个程序来查询特定分支的历史记录,我希望只在该分支上执行活动:

  1. 想要显示用户在该分支上发表的评论。
  2. 其他信息。
  3. 当我的主分支和我的功能分支(我想查询的)尚未合并时,我可以这样做。

    我可以做的是我可以在master和feature-branch之间查询,并获取日志。

    git log master..feature-branch.
    

    我得到了所执行活动的清单。

    但我的问题是,当快速合并发生在分支中时,我无法查询或获取该分支的数据,因为以下命令不返回任何行。

    git log master..feature-branch.
    

    什么都没有。

    我想知道即使快进合并发生,Git还是有任何方法可以使用命令查找历史记录。

1 个答案:

答案 0 :(得分:1)

在git中,当分支机构合并到其他分支机构时,分支机构不会保持独特的身份,无论该分支机构是否是快速合并分支机构。因此,根据命令,

git log master..branch

获取branch独有的提交列表不是一种可靠且不可行的方法。 git中的分支只是短暂和短暂的引用,它们实际上并不与提交永久关联。

您可以做的最好的事情是非快进合并分支,这样您至少可以确定分支发生了。但除非您在该合并提交中保留分支引用或标记,否则无法使用git log命令来查询"分支名称,用于查找属于该分支的提交。

,一旦分支合并到master,所有分支的提交都会在master中提交,因此它们不再是唯一的属于那个分支。