为各种主题创建一个分支,并且当我不再需要它们时不定期删除它们,我现在最终有大约50个分支;)
我尝试删除分支机构,其中一些分支机构有未更改的分支。
我想要的是能够准确查看我的仓库中不在主仓中的任何分支中的更改。有没有办法做到这一点
提前致谢。
答案 0 :(得分:176)
列出提交未合并到master中的分支:
git branch --no-merged master
列出相关提交:
git cherry -v master <branch>
答案 1 :(得分:15)
当我试图记住......
的语法时,我遇到了这个问题git log <branch> --not master --stat
这将显示对&lt; branch&gt;的提交尚未合并为主人的。 --stat将包含随提交更改的文件。您还可以使用它来比较任何两个分支,方法是用不同的分支名称替换master。
答案 2 :(得分:0)
这个问题已经得到很好的回答,但我认为还有一个值得记录的答案:
列出尚未与 master 合并的任何分支上的所有提交:
git log --all --not master
或者,等效地:
git log --all ^master
--all
选取所有分支,因此您不必列出它们,然后 --not master
或 ^master
从选择中删除 master。
答案 3 :(得分:0)
对于 PowerShell 人员,请结合上面所说的内容。如果需要,将 master
替换为 main
。通过粘贴到您的外壳中进行测试。
$notMergedList = (git branch --no-merged master) -replace " ", ""
ForEach($branchItem in $notMergedList) {
write-host "~~> branch: $branchItem" -Foregroundcolor DarkCyan
git cherry -v master $branchItem }
答案 4 :(得分:-7)
使用gitk
很容易概述您的分支机构。