合并后获取功能分支的提交消息

时间:2017-07-15 14:32:24

标签: git

如何在合并后获取功能分支的所有提交消息(例如,“开发”分支)?

我试过了:

git log testbranch...develop --pretty=oneline

但它不起作用。

树: enter image description here

“Commit1”和“Commit2”是“testbranch”的提交,已经合并到了开发中。

1 个答案:

答案 0 :(得分:0)

对于简单的情况,您可以列出可从testbranch访问但不能从develop访问的提交:

git log testbranch ^develop --no-merges --pretty=oneline

这应该与develop..testbranch相同(两个点,而不是三个) 参见:

如果testbranch已合并回develop,特别是以快进方式,则会出现空结果。
含义:一旦一个分支被快速转发到另一个分支,就没有任何说明点了:

d---d--t--t--t (testbranch)
    |
(develop)

git checkout develop
git merge testbranch

d--d--t--t--t (testbranch, develop)

你不知道“testbranch已经开始了。”

如果您在不久前(不到90天)自己使用testbranch进行了分支(也就是在您的本地仓库中),您可以查看git reflog输出,以便取回在testbranch处追踪新的<sha1>事件 请参阅“How do I check git log for a “fast-forward” merge?” 尝试:

git reflog show testbranch

然后,知道该分支的起始位置,您可以使用以下命令列出提交:

git log develop ^<sha1>

在你的情况下,你可能“知道”{1}}在commit1开始,但我的观点是:Git一个人不会知道(除了本地的reflog,如果该分支是在所述中创建的)本地回购)