我有一个本地分支主指向一个远程分支原点/regacy(哎呀,拼写错误!)
如何将远程分支重命名为原点/遗留或原点/主?
我试着:
git remote rename regacy legacy
但这给出了一个错误:
错误:不能重命名配置区段的远程。Regacy '到'remote.legacy'
我有一个本地分支主指向一个远程分支原点/regacy(哎呀,拼写错误!)
如何将远程分支重命名为原点/遗留或原点/主?
我试着:
git remote rename regacy legacy
但这给出了一个错误:
错误:不能重命名配置区段的远程。Regacy '到'remote.legacy'
当前回答
仅重命名远程分支:
(set -ex; old=oldname; new=newname; git push origin origin/$old:refs/heads/$new :$old)
or:
git-rr() (set -ex; old=$1; new=$2; git push origin origin/$old:refs/heads/$new :$old)
git-rr oldname newname
其他回答
除了其他人列出的其他步骤,请记住:
如果你试图删除默认的分支,例如master,当你运行git push origin:<branch_name>时,你会得到这个错误
! [remote rejected] master (refused to delete current branch: refs/heads/<branch_name>) error: failed to push some refs to '<repo_name>'. [remote rejected] master (refused to delete current branch: refs/heads/<branch_name>)
a)在删除分支之前更改默认值(Github示例)
去回购吧。 点击“设置” 修改默认分支如下图所示:
b)删除[target] remote:
$ git push origin:master
仅重命名远程分支:
(set -ex; old=oldname; new=newname; git push origin origin/$old:refs/heads/$new :$old)
or:
git-rr() (set -ex; old=$1; new=$2; git push origin origin/$old:refs/heads/$new :$old)
git-rr oldname newname
托管在GitHub上的Git存储库中的分支可以使用存储库设置重命名。作为一个副作用,GitHub中的分支保护规则也将被改变。
访问存储库设置中的“分支”:https://github.com/<name>/<repository-name>/settings/ Branches 重命名分支 每个使用这个存储库的人都必须在本地做:
$ git获取 $ git checkout <new_name>
我使用这些git别名,它几乎自动完成工作:
git config --global alias.move '!git checkout master; git branch -m $1 $2; git status; git push --delete origin $1; git status; git push -u origin $2; git branch -a; exit;'
用法:git从_branch移动到_branch
如果你有默认的名称,如master, origin等,它就可以工作。 你可以根据自己的意愿进行修改,但这只是个概念。
我必须执行以下任务来重命名本地和远程分支:
# Rename the local branch to the new name
git branch -m <old_name> <new_name>
# Delete the old remote branch
git push origin --delete <old_name>
# push to new remote branch - creates new remote branch
git push origin <new_name>
# set new remote branch as default remote branch for local branch
git branch --set-upstream-to=origin/<new_name> <new_name>