我有一个带有单个分支的git仓库:主分支。相反,我希望主分支被称为“somethingelse”,之后我可以添加更多分支与其他名称。我不想要一个名为“master”的分支。
我该怎么做?
答案 0 :(得分:3)
以下步骤应该有效,假设您的遥控器名称为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
或ignore
,否则将无法执行删除操作。如果您无法更改遥控器上的配置,则无法删除遥控器上的分支。虽然您可以将分支主服务器重置为树中的其他位置并执行push -f
。更改远程服务器上的默认分支:
您需要有权访问远程服务器以配置将在新克隆上检出的默认分支:
git symbolic-ref HEAD refs/heads/somethingelse