How to rename a git branch locally and remotely?

This question already has an answer here:

  • Rename master branch for both local and remote Git repositories 15 answers

  • Yes,

    the feature move exists to rename the branch locally

    git branch --move <old_name> <new_name>
    

    but to push it, you must delete the old and push the new

    git checkout <new_name>
    git push origin [--set-upstream] <new_name>
    git push origin --delete <old_name>
    

    --set-upstream is optional, it configure the new local branch to track the pushed one

    You can use the following shorthands:

  • move locally (--move) :

    git branch -m <old_name> <new_name>
    
  • push new branch (--set-upstream, optional) :

    git push origin [-u] <new_name>
    
  • delete (--delete) :

    git push origin -d <old_name>
    
  • NB.

    Thanks to torek's comment:

    Worth mentioning, by the way, is that you should

  • notify other users who share the upstream that you will be doing this, and
  • do this in the order shown (set new name, then delete old).
  • The reason for #1 is that those users will need to adjust.

    The reason for #2 is mainly just efficiency: it avoids having to re-copy objects to an upstream repo that drops commits on branch deletion (most bare repositories do that, and most repositories that accept pushes are bare)

    链接地址: http://www.djcxy.com/p/15818.html

    上一篇: 在github中重命名一个分支

    下一篇: 如何在本地和远程重命名git分支?