问题
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