1

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

  1. 想要显示用户在该分支上所做的评论。
  2. 其他信息。

当我的主分支和我的功能分支(我想查询)尚未合并时,我可以这样做。

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

git log master..feature-branch.

我得到了执行的活动列表。

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

git log master..feature-branch.

什么都没有返回。

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

4

1 回答 1

1

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

git log master..branch

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

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

此外,一旦将一个分支合并到master中,该分支的所有提交也会随之提交master,因此它们不再唯一地属于该分支。

于 2014-03-29T12:24:57.337 回答