「master」以外のデフォルトのブランチ名を持つ Git リポジトリを作成するにはどうすればいいですか? 質問する

「master」以外のデフォルトのブランチ名を持つ Git リポジトリを作成するにはどうすればいいですか? 質問する

の中にプロGitブックと書いてある

「起源」は特別なものではない

Git では、ブランチ名「master」に特別な意味がないのと同じように、「origin」にも特別な意味はありません。「master」は git init を実行したときの開始ブランチのデフォルト名であり、これが広く使用されている唯一の理由ですが、「origin」は git clone を実行したときのリモートのデフォルト名です。代わりに git clone -o booyah を実行すると、booyah/master がデフォルトのリモート ブランチになります。

つまり、デフォルトのブランチ名をmainmain-branchなどに使用できます。別のデフォルトのブランチ名でman git-init初期化するオプションは見つかりませんでした。repo

GitHubはデフォルトのブランチ名を設定する方法を示しています設定ページで。ただし、特定のGit ホスティング サイトで設定する方法について話しているわけではありません。特定のGit ホスティング サイトに関してではなく、Git に関してのみ厳密に質問しています。

それを実行する方法はありますか?

ベストアンサー1

新しい Git、新しいリポジトリ

git バージョン 2.28.0 以降、このgit initコマンドは--initial-branch(または-b略して) パラメータを取るようになりました。これらの 2 つのコマンドは、「trunk」という名前のブランチを持つ新しい Git リポジトリを作成します。これは、「master」(何のマスター?) よりも常にわかりやすい名前です。

git init --initial-branch=trunk
git init -b trunk

これは設定で構成可能ですinit.defaultBranch。すべての新しいリポジトリに「trunk」をデフォルトのブランチとして設定したい場合は、次のようにします。

git config --global init.defaultBranch trunk

古い Git、新しいリポジトリ

一部のシステムでは、古い Git インストールが残っています。私の Debian 10 サーバー (Buster、 2020 年 10 月現在の現在の安定バージョン) には Git 2.20 が付属していますが、このオプションはサポートされていません-b。1 つのオプションは、リポジトリを作成してからブランチ名を変更することです。この手法は、通常の (非ベア) リポジトリで機能します。

git init
git checkout -b trunk

trunkこれにより、 ではなく を現在のブランチとして新しいリポジトリが作成されますmaster。 ブランチはmaster実際には存在しません。ブランチは、少なくとも 1 つのコミットが行われるまで作成されません。 ブランチが作成されるまで、ブランチは にのみ存在します。これが、 に切り替えるとブランチが消える.git/HEAD理由です。mastertrunk

ベアレポ

ベア リポジトリの場合、実行できませんgit checkout(ベアとはそういう意味です)。代わりに、HEAD を変更して別のブランチを指すようにすることができます。

git init --bare
git symbolic-ref HEAD refs/heads/trunk

古いリポジトリ

すでにコミットしている場合は、代わりに以下を実行できますgit branch -m

git init
touch file.txt
git add file.txt
git commit -m 'commit 1'
git branch -m trunk

これにより、ブランチが作成されると、ブランチの名前が から に変更されますmastertrunk

リポジトリが空かどうかによってメカニズムが異なるため、これは少し扱いに​​くいように思えますが、機能します。また、「新しいブランチを作成して削除するmaster」というアプローチも可能です。

おすすめ記事