我正在为我的项目使用Git Flow,并完成了将我的功能分支合并到我的git flow feature finish
分支的develop
步骤。
然后我向GitHub执行了git push
,但在GitHub上我仍然看到了功能分支以及develop
。
当我在本地运行git branch
时,我只会看到develop
和master
,这是我所期望的。
如何从GitHub中删除分支?我可以应付这个,但如果每个功能都发生这种情况,我最终会得到一大堆旧分支。
非常感谢提前。
答案 0 :(得分:5)
假设origin
远程引用了您的GitHub存储库,您可以删除合并的分支:
git push origin :name-of-now-merged-branch
要进一步解释该语法,请执行以下操作:
git push origin some-branch
... some-branch
参数实际上是“refspec”,它定义了源名称和目标名称之间的映射,通常是<source-name>:<destination-name>
形式。如果refspec中没有:
,则假定您的意思是some-branch:some-branch
。说“我只想删除远程分支”的方法是完全错过<source-name>
,最后只有:
后跟远程分支名称。
答案 1 :(得分:1)
检查哪些远程分支可用
git branch -r
然后您可以使用以下命令删除远程分支:
git push origin :branchname
删除本地分支
git branch -d branchname
编辑:
http://gitready.com/beginner/2009/02/02/push-and-delete-branches.html
答案 2 :(得分:0)
As per this answer,如果您执行git push --all --prune
,它会自动删除所有这些合并的分支,而无需您手动删除每个分支。