[英]List all commits in a topic branch
我有一個功能分支簡明命名的feature
,有大約100個提交都與各種功能相關。 這些提交都是隨着時間的推移而合並到主分支中的。 我想列出分支上的所有提交,以便我可以將該功能重新添加到其他項目中。
基本上我想在下圖中為綠點提供ID。
我怎么能在Git中做到這一點,然后轉到gitk或類似的工具並手工收集所有相關的提交ID?
如果你得到特定分支的起點,例如SHA1
,試試這個:
git log --pretty=oneline SHA1^..feature
盡管給出並接受了答案,我建議采用更自動的方法(但只有在你沒有將你的master
與feature
合並時才會有效):
考慮以下歷史:
--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.