我有一个带有单个分支的 git repo:主分支。相反,我希望将主分支称为“somethingelse”,这样以后我可以添加更多具有其他名称的分支。我不想有一个名为“master”的分支。
我该怎么做?
我有一个带有单个分支的 git repo:主分支。相反,我希望将主分支称为“somethingelse”,这样以后我可以添加更多具有其他名称的分支。我不想有一个名为“master”的分支。
我该怎么做?
假设您的遥控器的名称是:以下步骤应该可以工作origin
:
# Rename local master to somethingelse
git branch -m master somethingelse
# Delete the remote named origin's master
git push origin :master
# Checkout local somethingelse
git checkout somethingelse
# Push the branch somethingelse to remote
git push origin somethingelse
# Update the remote tracking branch for somethingelse
# otherwise the next pull/push might fail
git branch -u origin/somethingelse somethingelse
这些步骤有很多问题:
git pull
会给你一个错误。master
远程服务器上不存在默认分支的原因。要更新远程服务器上的默认分支,请使用git symbolic-ref
我在最后提到的命令。receive.denyDeleteCurrent
为warn
or ignore
,否则它不会让您执行删除。如果您无法更改远程上的配置,您将无法删除远程上的分支。尽管您可以将分支 master 重置到树中的其他位置并执行push -f
.更改远程服务器上的默认分支:
您需要有权访问远程服务器以配置将在新克隆上签出的默认分支:
git symbolic-ref HEAD refs/heads/somethingelse