我有一个本地分支主指向一个远程分支原点/regacy(哎呀,拼写错误!)
如何将远程分支重命名为原点/遗留或原点/主?
我试着:
git remote rename regacy legacy
但这给出了一个错误:
错误:不能重命名配置区段的远程。Regacy '到'remote.legacy'
我有一个本地分支主指向一个远程分支原点/regacy(哎呀,拼写错误!)
如何将远程分支重命名为原点/遗留或原点/主?
我试着:
git remote rename regacy legacy
但这给出了一个错误:
错误:不能重命名配置区段的远程。Regacy '到'remote.legacy'
当前回答
有几种方法可以做到这一点:
更改您的本地分支,然后推动您的更改 使用新名称将分支推到远程,同时在本地保留原始名称
重命名本地和远程
# Rename the local branch to the new name
git branch -m <old_name> <new_name>
# Delete the old branch on remote - where <remote> is, for example, origin
git push <remote> --delete <old_name>
# Or shorter way to delete remote branch [:]
git push <remote> :<old_name>
# Prevent git from using the old name when pushing in the next step.
# Otherwise, git will use the old upstream name instead of <new_name>.
git branch --unset-upstream <new_name>
# Push the new branch to remote
git push <remote> <new_name>
# Reset the upstream branch for the new_name local branch
git push <remote> -u <new_name>
只重命名远程分支
信用:ptim
# In this option, we will push the branch to the remote with the new name
# While keeping the local name as is
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
重要提示:
当你使用git分支-m (move)时,git也会用新名称更新你的跟踪分支。
Git远程重命名遗留遗留
Git远程重命名正在尝试更新配置文件中的远程部分。它将使用给定名称将远程重命名为新名称,但在您的示例中,它没有找到任何名称,因此重命名失败。
但它不会像你想的那样;它将重命名本地配置远程名称,而不是远程分支。
请注意 Git服务器可能允许你使用web界面或外部程序(如Sourcetree等)重命名Git分支,但你必须记住,在Git中所有的工作都是在本地完成的,所以建议使用上述命令来工作。
其他回答
它也可以通过以下方式完成。
首先重命名本地分支,然后重命名远程分支。
重命名本地分支:
如果登录到另一个分支,
git branch -m old_branch new_branch
如果登录到同一个分支,
git branch -m new_branch
重命名远程分支:
git push origin :old_branch // Delete the remote branch
git push --set-upstream origin new_branch // Create a new remote branch
另一个解决方法如下:
签出到您想更改的分支 从它创建一个新分支 上游设置为远程 从本地和远程删除旧的分支
更具体地说:
# Checkout to the branch you want to rename
git checkout <old_branch_name>
# Create a new branch from the old one and checkout to it
git checkout -b <new_branch_name>
# Push the new branch to remote
git push -u <origin> HEAD
# Delete local branch
git branch -d <old_branch_name>
# Delete remote branch
git push <origin> -d <old_branch_name>
托管在GitHub上的Git存储库中的分支可以使用存储库设置重命名。作为一个副作用,GitHub中的分支保护规则也将被改变。
访问存储库设置中的“分支”:https://github.com/<name>/<repository-name>/settings/ Branches 重命名分支 每个使用这个存储库的人都必须在本地做:
$ git获取 $ git checkout <new_name>
没有直接的方法,
重命名本地分支, 我现在的分支是master Git branch -m master_rename #master_rename是master的新名称 删除远程分支, Git push origin——delete master #origin是remote_name 将重命名的分支推到远程, Git推送origin master_rename
就是这样……
我使用这些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等,它就可以工作。 你可以根据自己的意愿进行修改,但这只是个概念。