Git branch merged on local repo but still visible on Github

时光总嘲笑我的痴心妄想 提交于 2019-12-11 09:49:47

问题


I'm using Git Flow for my project, and have completed the git flow feature finish step that merged my feature branch into my develop branch.

I then performed git push to GitHub, but on GitHub I still see the feature branch as well as develop.

When I run git branch locally, I only see develop and master, which is what I'd expect.

How can I remove the branch from GitHub? I could cope with this one, but if this happens for every feature I'll end up with a massive list of old branches.

Many thanks in advance.


回答1:


Assuming the origin remote refers to your GitHub respository, you can delete the merged branch with:

git push origin :name-of-now-merged-branch

To explain that syntax further, when you do:

git push origin some-branch

... the some-branch parameter is actually a "refspec" which defines a mapping between a source name and a destination name, usually of the form <source-name>:<destination-name>. If there's no : in the refspec, it assumes that you mean some-branch:some-branch. The way to say "I just want to delete the remote branch" is to miss out the <source-name> completely, just ending up with : followed by the remote branch name.




回答2:


Check which remote branches are available

git branch -r

Then you can delete the remote branch with:

git push origin :branchname

To delete the branch local

git branch -d branchname

Edit:

http://gitready.com/beginner/2009/02/02/push-and-delete-branches.html




回答3:


As per this answer, if you do git push --all --prune, it will automatically remove all those merged branches without you having to go in manually and removing each one.



来源:https://stackoverflow.com/questions/11468200/git-branch-merged-on-local-repo-but-still-visible-on-github

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!