如何在合并后获取功能分支的所有提交消息(例如,“开发”分支)?
我试过了:
git log testbranch...develop --pretty=oneline
但它不起作用。
“Commit1”和“Commit2”是“testbranch”的提交,已经合并到了开发中。
答案 0 :(得分:0)
对于简单的情况,您可以列出可从testbranch
访问但不能从develop
访问的提交:
git log testbranch ^develop --no-merges --pretty=oneline
这应该与develop..testbranch
相同(两个点,而不是三个)
参见:
..
” and triple-dot “...
” in Git?”..
” and triple-dot “...
” in Git commit ranges?”如果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,如果该分支是在所述中创建的)本地回购)