如何列出所有提交数量多于当前HEAD的Git分支
Git分支排查操作指引
- 第一步先切换到你的目标feature分支,并拉取最新代码确保本地分支和远程同步:
git checkout <你的feature分支名> git pull origin <你的feature分支名>
- 第二步执行以下命令,列出所有本地从该feature分支创建、且存在未合入当前feature分支的独有提交的分支:
git for-each-ref --format='%(refname:short)' refs/heads/ | while read br; do if [ -n "$(git rev-list --no-merges "$br" ^<你的feature分支名> --ancestry-path <你的feature分支名>.."$br")" ]; then echo $br; fi; done - 若需要排查远程仓库的所有相关衍生分支,修改命令中的分支路径即可:
git for-each-ref --format='%(refname:short)' refs/remotes/origin/ | while read br; do if [ -n "$(git rev-list --no-merges "$br" ^<你的feature分支名> --ancestry-path <你的feature分支名>.."$br")" ]; then echo $br; fi; done - 额外验证方法:如果要确认某条输出分支的具体独有提交内容,执行以下命令查看提交明细:
git log <待排查分支名> ^<你的feature分支名> --oneline
注意:执行命令前需要将
<你的feature分支名>替换为你实际的feature分支全称,避免命令执行报错。
内容的提问来源于stack exchange,提问作者Simon Tran
相关产品推荐
相关产品推荐

