の中にプロGitブックと書いてある
「起源」は特別なものではない
Git では、ブランチ名「master」に特別な意味がないのと同じように、「origin」にも特別な意味はありません。「master」は git init を実行したときの開始ブランチのデフォルト名であり、これが広く使用されている唯一の理由ですが、「origin」は git clone を実行したときのリモートのデフォルト名です。代わりに git clone -o booyah を実行すると、booyah/master がデフォルトのリモート ブランチになります。
つまり、デフォルトのブランチ名をmainやmain-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
理由です。master
trunk
ベアレポ
ベア リポジトリの場合、実行できません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
これにより、ブランチが作成されると、ブランチの名前が から に変更されますmaster
。trunk
リポジトリが空かどうかによってメカニズムが異なるため、これは少し扱いにくいように思えますが、機能します。また、「新しいブランチを作成して削除するmaster
」というアプローチも可能です。