我有一个本地分支主指向一个远程分支原点/regacy(哎呀,拼写错误!)

如何将远程分支重命名为原点/遗留或原点/主?


我试着:

git remote rename regacy legacy

但这给出了一个错误:

错误:不能重命名配置区段的远程。Regacy '到'remote.legacy'


当前回答

首先,确保本地分支具有正确的新名称。 相应的命令是git branch -a。

现在,从远程存储库中删除具有旧的、不正确的名称的分支。 为此,使用以下命令 Git push origin——delete <old-name>

验证旧的分支已经被正确地删除。 现在添加具有正确名称的分支。 为此,使用命令git push origin -u <new-name>

最后,执行上游分支的重置,以确保更改是有效的。

其他回答

如果您错误地命名了一个分支并将其推到远程存储库,请按照以下步骤重命名该分支(基于本文):

重命名你的本地分支: 如果你在你想重命名的分支上: Git branch -m new-name 如果你在不同的分支上: Git branch -m old-name new-name 删除旧名称的远程分支,并推送新名称的本地分支: Git推送源:old-name new-name 重置新名称本地分支的上游分支: 切换到分支,然后: Git推送origin -u new-name

附加一个简单的片段来重命名你的当前分支(本地的和原始的):

git branch -m <oldBranchName> <newBranchName>
git push origin :<oldBranchName>
git push --set-upstream origin <newBranchName>

git文档中的解释:

git branch -m or -M option, will be renamed to . If had a corresponding reflog, it is renamed to match , and a reflog entry is created to remember the branch renaming. If exists, -M must be used to force the rename to happen. The special refspec : (or +: to allow non-fast-forward updates) directs Git to push "matching" branches: for every branch that exists on the local side, the remote side is updated if a branch of the same name already exists on the remote side. --set-upstream Set up 's tracking information so is considered 's upstream branch. If no is specified, then it defaults to the current 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>

如果您已经将错误的名称推到远程,请执行以下操作:

切换到要重命名的本地分支 Git checkout <old_name> 重命名本地分支 Git分支-m <new_name> 推送<new_name>本地分支并重置上游分支 Git push origin -u <new_name> 删除<old_name>远程分支 Git push origin——delete <old_name>

这是基于这篇文章。

检查您正在使用下面的命令的分支

git branch -a 

签出到要重命名的分支

git checkout branch_to_rename

使用以下命令重命名分支

git branch -m new_name

推动改变

git push origin :old_name new_name