Renaming a branch in github
I just renamed my local branch using
git branch -m oldname newname
but this only renames the local version of the branch. How can I rename the one in github ?
As mentioned, delete the old one on Github & re-push, though the commands used are a bit more verbose than necessary:
git push origin :name_of_the_old_branch_on_github
git push origin new_name_of_the_branch_that_is_local
Simple. Dissecting the commands a bit, the git push command is essentially:
git push <remote> <local_branch>:<remote_branch>
So doing a push with no local_branch specified essentially means "take nothing from my local repository, and make it the remote branch". I've always thought this to be completely kludgy, but it's the way it's done.
Edit: As of Git 1.7 there is an alternate syntax for deleting a remote branch:
git push origin --delete name_of_the_remote_branch
Edit: As mentioned by @void.pointer in the comments
Note that you can combine the 2 push operations:
git push origin :old_branch new_branch
This will both delete the old branch and push the new one.
This can be turned into a simple alias that takes the remote, original branch and new branch name as arguments, in ~/.gitconfig
:
[alias]
branchm = "!git branch -m $2 $3 && git push $1 :$2 $3 -u #"
Usage:
git branchm origin old_branch new_branch
Note that positional arguments in shell commands were problematic in older (pre 2.8?) versions of git, so the alias might vary according to the git version. See this discussion for details.
Just remove the old branch and create new one.
Example (solely renaming the remote branch):
git push origin :refs/heads/oldname
git push origin newname:refs/heads/newname
You also probably should rename local branch and change settings for where to push/pull.
以下命令适用于我:
git push origin :old-name-of-branch-on-github
git branch -m old-name-of-branch-on-github new-name-for-branch-you-want
git push origin new-name-for-branch-you-want
链接地址: http://www.djcxy.com/p/15820.html
上一篇: GitHub从之前的提交中分离出一个回购
下一篇: 在github中重命名一个分支