在Azure DevOps中,我的PR策略被设置为“半线性”,这意味着当您合并拉取请求时,它会首先重定基础,然后再合并。
这使得清理本地分支变得非常困难,因为我的普通git branch --merged origin/master
不支持这种情况。
我如何才能可靠地批量确定哪些本地分支已被“有效合并”,以便我可以删除它们?
注意:我将push.default
设置为current
,并且我总是将远程跟踪分支设置为origin/master
。因此,任何依赖于检查每个本地分支的上游远程跟踪分支的解决方案都将不起作用(尽管,我确实使用相同的名称将分支推送到远程;我们只是不能依赖远程跟踪分支来实现这一点)。我想提到这个细节,以防任何解决方案都会利用远程跟踪分支。
我发现了一个类似的SO问题,Git: How do I list local branches that are tracking remote branches that no longer exist?,但就我而言,它没有可接受的答案。
1条答案
按热度按时间hiz5n14c1#
我能想到的一种方法是尝试(空运行)将topic分支的基重定到
origin/master
上a-如果它创建了no新的提交,那么topic分支可以被安全地删除这是因为默认情况下
rebase
不创建空提交另一种方式(可能更简洁)是:
如果
git status -s
导致空输出-可以安全地删除主题分支