How do I safely delete a remote git branch?

2019-04-04 01:38发布

问题:

To delete a local branch in git I use git branch -d, but how do I safely remove a remote branch?

I would like to delete it only when the remote branch is merged to my current branch.

回答1:

The answer is partly covered here: How can I know in git if a branch has been already merged into master?

While that post copes with local branches, you could find remote branches that are merged or not using

  • git branch -r --merged to detect all remote branches that are already merged into the current
  • git branch -r --unmerged to do the opposite

  • git branch -r --no-merged is correct for the new version of Git and I'm not sure whether git branch -r --unmerged is applicable for old git.

Once you found that a specific remote branch is already merged (i.e. it appears when typing git branch -r --merged), you could delete it as Michael Krelin answers using

git push <remote> :<remotebranchname>

See also the documentation of git branch for the --merged and --unmerged flags.



回答2:

Just to point out that for unmerged branches it seems the option now is --no-merged as explained on http://git-scm.com/docs/git-branch