Git分支在本地回购上合并,但在Github上仍然可见
我正在为我的项目使用,并且已经完成了将我的功能分支合并到我的Git分支在本地回购上合并,但在Github上仍然可见,git,github,git-flow,Git,Github,Git Flow,我正在为我的项目使用,并且已经完成了将我的功能分支合并到我的开发分支的git flow feature finish步骤 然后我对GitHub执行了git push,但在GitHub上我仍然可以看到功能分支以及develope 当我在本地运行git分支时,我只看到develope和master,这正是我所期望的 如何从GitHub中删除分支?我可以应付这个问题,但如果每个功能都出现这种情况,我将得到一个庞大的旧分支列表 非常感谢。假设来源远程指向您的GitHub Resposition,您可以使
开发
分支的git flow feature finish
步骤
然后我对GitHub执行了git push
,但在GitHub上我仍然可以看到功能分支以及develope
当我在本地运行git分支
时,我只看到develope
和master
,这正是我所期望的
如何从GitHub中删除分支?我可以应付这个问题,但如果每个功能都出现这种情况,我将得到一个庞大的旧分支列表
非常感谢。假设
来源
远程指向您的GitHub Resposition,您可以使用以下命令删除合并的分支:
git push origin :name-of-now-merged-branch
git push origin :branchname
要进一步解释该语法,请执行以下操作:
git push origin some-branch
。。。
some branch
参数实际上是一个“”参数,它定义了源名称和目标名称之间的映射,通常的形式是:
。如果refspec中没有:
,则假定您的意思是某个分支:某个分支
。说“我只想删除远程分支”的方法是完全忽略
,结果是:
后跟远程分支名称。假设源远程引用您的GitHub Resposition,您可以通过以下方式删除合并的分支:
git push origin :name-of-now-merged-branch
git push origin :branchname
要进一步解释该语法,请执行以下操作:
git push origin some-branch
。。。some branch
参数实际上是一个“”参数,它定义了源名称和目标名称之间的映射,通常的形式是:
。如果refspec中没有:
,则假定您的意思是某个分支:某个分支
。说“我只想删除远程分支”的方法是完全忽略
,结果是:
后跟远程分支名称。检查哪些远程分支可用
git branch -r
然后,您可以使用以下命令删除远程分支:
git push origin :name-of-now-merged-branch
git push origin :branchname
要删除本地分支,请执行以下操作:
git branch -d branchname
编辑:
检查哪些远程分支可用
git branch -r
然后,您可以使用以下命令删除远程分支:
git push origin :name-of-now-merged-branch
git push origin :branchname
要删除本地分支,请执行以下操作:
git branch -d branchname
编辑:
如果执行git push--all--prune
,它将自动删除所有合并的分支,而无需手动进入并删除每个分支。如果执行git push--all--prune
,它将自动删除所有合并的分支,而无需手动进入并删除每个分支。即,该命令实质上是在推送分支已合并的事实吗?在这种情况下,我想知道为什么没有参数的git push
没有推送它?@NeilBarnwell:我在回答中扩展了这个语法-你可以通过这种方式删除任何远程分支(除非远程存储库不允许),而这与它是否被合并没有任何关系。该命令实质上是在推送分支已被合并的事实吗?在这种情况下,我想知道为什么没有参数的git push
没有推送它?@NeilBarnwell:我在回答中扩展了这个语法-你可以通过这种方式删除任何远程分支(除非远程存储库不允许),这与它是否被合并没有任何关系。小心,这将删除远程服务器上本地没有的所有分支。@BudgieInWA啊,说得好!我在我的工作流程中提取了所有分支的副本,但我发现这对一些人来说是个问题!小心,这会删除远程上本地没有的所有分支。@BudgieInWA啊,说得好!我在我的工作流程中提取了所有分支的副本,但我发现这对一些人来说是个问题!