繁体   English   中英

列出主题分支中的所有提交

[英]List all commits in a topic branch

我有一个功能分支简明命名的feature ,有大约100个提交都与各种功能相关。 这些提交都是随着时间的推移而合并到主分支中的。 我想列出分支上的所有提交,以便我可以将该功能重新添加到其他项目中。

基本上我想在下图中为绿点提供ID。

相关承诺

我怎么能在Git中做到这一点,然后转到gitk或类似的工具并手工收集所有相关的提交ID?

如果你得到特定分支的起点,例如SHA1 ,试试这个:

git log --pretty=oneline SHA1^..feature

尽管给出并接受了答案,我建议采用更自动的方法(但只有在你没有将你的masterfeature合并时才会有效):

考虑以下历史:

--A---B---C---D---E---F---G (master)
       \     /       /
        H---J-------K       (feature)

基本上我们想要执行git log B..feature

git log --format='%H' feature..master | tail -1 | \
xargs -I '{}' git log '{}'^..feature

git log --format='%H' feature..master | tail -1 git log --format='%H' feature..master | tail -1将在您创建feature分支后立即找到对master的提交 - 这是C

C - B的祖先也将是feature分支的第一个提交H的祖先。

然后xargs -I '{}' git log '{}'^..feature (转到git log B..feature )只显示可以从feature访问但无法从B访问的提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM