1

マスターブランチという単一のブランチを持つgitリポジトリがあります。代わりに、マスターブランチを「somethingelse」と呼びたいのですが、そうすれば、後で他の名前のブランチを追加できます。「マスター」というブランチは必要ありません。

どうすればいいのですか?

4

1 に答える 1

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最後に説明したコマンドを使用して、リモートサーバーのデフォルトブランチを更新します。
  • 新しいgitバージョンでは、リモートでブランチを削除するには、またはのreceive.denyDeleteCurrentいずれwarnかに設定する必要がありますignore。そうしないと、削除を実行できません。リモートの構成を変更できない場合、リモートのブランチを削除することはできません。ブランチマスターをツリー内の別の場所にリセットして、を実行することもできますがpush -f

リモートサーバーのデフォルトブランチの変更:

新しいクローンでチェックアウトされるデフォルトのブランチを構成するには、リモートサーバーにアクセスする必要があります。

git symbolic-ref HEAD refs/heads/somethingelse
于 2013-03-26T06:02:04.583 に答える