我为各种主题创建了分支,并且不定期删除它们,现在我有大约50个分支。
我尝试删除这些分支,但其中一些分支具有未合并的更改。
我的要求是能够查看存储库中任何分支与master
分支不同的确切更改。是否有办法做到这一点?
列出未合并到主分支的分支及其提交记录:
git branch --no-merged master
列出相关的提交:
git cherry -v master <branch>
当我试图记住...的语法时,我遇到了这个问题。
git log <branch> --not master --stat
这将显示提交到<branch>但未合并到主分支的提交。--stat将包括提交更改的文件。您也可以使用此功能通过将master替换为其他分支名称来比较任何两个分支。
git log --all --not master
git log --all ^master
< p > --all
选取所有分支,您无需列出它们,--not master
或^master从选择中删除master。
master
替换为main
。将其粘贴到您的shell中进行测试。$notMergedList = (git branch --no-merged master) -replace " ", ""
ForEach($branchItem in $notMergedList) {
write-host "~~> branch: $branchItem" -Foregroundcolor DarkCyan
git cherry -v master $branchItem }
使用gitk
可以轻松地获取分支的概览。
-a
标志以包括远程分支。 - gawi-a
参数将显示本地和远程分支,使用-r
则仅显示远程分支。 - pafivi