我有一个简要命名的功能分支feature,它有大约100个提交,都与各种功能相关.这些提交都是随着时间的推移而合并到主分支中的.我想列出分支上的所有提交,以便我可以将该功能重新添加到其他项目中.
基本上我想在下图中为绿点提供ID.

我怎么能在Git中做到这一点,然后转到gitk或类似的工具并手工收集所有相关的提交ID?
如果你得到特定分支的起点,例如SHA1,试试这个:
git log --pretty=oneline SHA1^..feature
Run Code Online (Sandbox Code Playgroud)
尽管给出并接受了答案,我还是会建议更自动的方法来执行此操作(但只有在您没有合并master到时它才会起作用feature):
考虑到以下历史:
--A---B---C---D---E---F---G (master)
\ / /
H---J-------K (feature)
Run Code Online (Sandbox Code Playgroud)
基本上我们想要表演git log B..feature。
git log --format='%H' feature..master | tail -1 | \
xargs -I '{}' git log '{}'^..feature
Run Code Online (Sandbox Code Playgroud)
git log --format='%H' feature..master | tail -1master将找到对创建分支后立即完成的提交feature- 这是C
C-的祖先也将是分支第一次提交的B祖先。Hfeature
然后xargs -I '{}' git log '{}'^..feature(即转向)仅显示可从 访问但不可从 访问的git log B..feature提交。featureB
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |