Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何列出在重新基准后合并的分支?_Git - Fatal编程技术网

Git 如何列出在重新基准后合并的分支?

Git 如何列出在重新基准后合并的分支?,git,Git,在Azure DevOps中,我的PR策略设置为“半线性”,这意味着当您合并一个请求时,它首先会被重定基础,然后再被合并 这使得清理本地分支非常困难,因为我的普通git分支--merged origin/master不支持这种情况 如何可靠地批量确定哪些本地分支已“有效合并”,以便删除它们 注意:我将我的推送。默认设置为当前,并且我始终将我的远程跟踪分支设置为原点/master。因此,任何依赖于为每个本地分支检查上游远程跟踪分支的解决方案都不会起作用(尽管我确实使用相同的名称将分支推送到远程;我

在Azure DevOps中,我的PR策略设置为“半线性”,这意味着当您合并一个请求时,它首先会被重定基础,然后再被合并

这使得清理本地分支非常困难,因为我的普通
git分支--merged origin/master
不支持这种情况

如何可靠地批量确定哪些本地分支已“有效合并”,以便删除它们

注意:我将我的
推送。默认设置为
当前
,并且我始终将我的远程跟踪分支设置为
原点/master
。因此,任何依赖于为每个本地分支检查上游远程跟踪分支的解决方案都不会起作用(尽管我确实使用相同的名称将分支推送到远程;我们只是不能依赖远程跟踪分支)。我想提到这个细节,以防任何解决方案都会利用远程跟踪分支


免责声明:我找到了,但就我而言,它没有可接受的答案。因此,如果人们不盲目地将我的问题标记为重复,我将不胜感激。

我能想到的一种方法是尝试(干运行)将主题分支的基础重新设置到
origin/master
-如果它创建no新提交,则可以安全地删除主题分支

这是因为默认情况下,
rebase
不会创建空提交

另一种方法(可能更清洁)是:


如果
git status-s
导致输出为空,则可以安全删除主题分支

您是否可以确定这样一种情况,即您无法相信不再存在的远程服务器正在正确识别可以安全删除的本地分支?(也就是说,对于你的场景中不起作用的另一个问题的答案是什么?具体地说,我相信安东·斯蒂亚贡的答案是正确的,尽管它还没有被标记为正确的。如果这个问题有一个好的答案,它是否也会回答你的问题?)我有这个确切的想法。我不想猜测它需要多长时间(即使是自动化的),但它应该可以工作……我的要求之一是我能够批量完成这项工作。对每一个分支机构进行重新基准可以实现自动化;但这将是不平凡和缓慢的。我想应该有一种方法可以使用较低级别的管道命令来更好地实现这一点,特别是在可能的情况下,只使用索引来实现功能。
git switch -c temp-topic-branch topic-branch
git merge origin/master
git reset --mixed origin/master
git status -s