为不同的主题创建一个分支,并且在我不再需要它们的时候不会定期删除它们,现在我已经有了大约50个分支。
我尝试删除分支,但其中一些分支有未合并的更改。
我想要的是能够确切地看到在我的回购中的任何分支中有什么变化,而这些变化不在 master中。有办法吗?
master
使用 gitk很容易得到分支的概况。
gitk
列出没有合并到 master 中的分支:
git branch --no-merged master
列出相关的承诺:
git cherry -v master <branch>
这个问题是我在试图回忆..。
git log <branch> --not master --stat
这将显示尚未合并到 master 的对 < Branch > 的提交。Stat 将包括提交时更改的文件。您还可以使用这个命令将 master 替换为不同的分支名,从而比较任意两个分支。
这个问题已经得到了很好的回答,但我认为还有一个答案值得记录下来:
列出任何未与 master 合并的分支的所有提交:
git log --all --not master
或者,相当于:
git log --all ^master
--all选择所有分支,因此您不必列出它们,然后 --not master或 ^master从选择中删除 master。
--all
--not master
^master
对于 PowerShell 的员工来说,这是上述观点的一个小组合。如果需要,用 main代替 master。通过粘贴到 shell 中进行测试。
main
$notMergedList = (git branch --no-merged master) -replace " ", "" ForEach($branchItem in $notMergedList) { write-host "~~> branch: $branchItem" -Foregroundcolor DarkCyan git cherry -v master $branchItem }