マスターブランチという単一のブランチを持つgitリポジトリがあります。代わりに、マスターブランチを「somethingelse」と呼びたいのですが、そうすれば、後で他の名前のブランチを追加できます。「マスター」というブランチは必要ありません。
どうすればいいのですか?
マスターブランチという単一のブランチを持つgitリポジトリがあります。代わりに、マスターブランチを「somethingelse」と呼びたいのですが、そうすれば、後で他の名前のブランチを追加できます。「マスター」というブランチは必要ありません。
どうすればいいのですか?
リモコンの名前が次のとおりであると仮定すると、次の手順が機能するはずです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