Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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_Rebase - Fatal编程技术网

Git 有没有办法检查哪些分支已根据主分支重新设置基础

Git 有没有办法检查哪些分支已根据主分支重新设置基础,git,rebase,Git,Rebase,所以我有一个有44个分支的项目,不重要,但也不干净 因此,我的问题是,如何检查哪些分支已针对主分支重新设置了基础。所以我可以一个接一个地删除分支。我想你是说合并而不是重定基础?因为如果您真正想要检查的是某个分支是否根据最新的主分支重新设置了基础,那么您只需运行gitk--all,就可以清楚地看到所有基于最新的主分支提交的分支。但是,删除这些分支是没有意义的 因此,假设您想要检查哪些分支包含主分支中已经存在的更改,因此不提供额外的值并且可以删除,这就是我处理该问题的方法。假设其中一个分支名为bug

所以我有一个有44个分支的项目,不重要,但也不干净


因此,我的问题是,如何检查哪些分支已针对主分支重新设置了基础。所以我可以一个接一个地删除分支。

我想你是说合并而不是重定基础?因为如果您真正想要检查的是某个分支是否根据最新的主分支重新设置了基础,那么您只需运行
gitk--all
,就可以清楚地看到所有基于最新的主分支提交的分支。但是,删除这些分支是没有意义的

因此,假设您想要检查哪些分支包含主分支中已经存在的更改,因此不提供额外的值并且可以删除,这就是我处理该问题的方法。假设其中一个分支名为
bugfix42
。然后我就跑

git branch bugfix42.test bugfix42
git rebase master bugfix42.test
git diff master bugfix42.test

如果这完全适用并且没有差异,那么很明显,bugfix42分支的内容已经存在于master上,并且可以删除bugfix42。首先选择悬而未决的结果,因此如果您遇到合并冲突,只需使用
git-rebase--abort
暂时跳过它,然后转到下一个分支。当所有琐碎的分支都完成后,您就可以使用其余的分支再次运行,并解决发生的冲突(取决于您要投入多少精力)。在末尾(或之前,如果需要)删除所有*.test分支。

在这种情况下,为什么可以删除它们?你的意思是说你在这些树枝上重新调整了主人的地位吗?