簡體   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