1. ホーム
  2. git

[解決済み】デフォルトのブランチ名を "master" 以外にした Git リポジトリを作成するにはどうすればよいですか?

2022-04-14 21:24:50

質問

プロGitブック には、次のように書かれています。

<ブロッククオート

"origin "は特別なものではありません。

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

つまり、デフォルトのブランチ名を メイン または 主枝 とか、そんな感じです。のオプションは見当たりませんでした。 man git-init を初期化する repo をデフォルトのブランチ名とは別のものに変更します。

GitHub では、デフォルトのブランチ名を設定する方法を紹介しています。 を設定ページに追加しました。しかし、私は特定の Gitホスティングサイト . 私は厳密にGitの観点で尋ねているのであって、特定の Gitホスティングサイト .

そのような方法はあるのでしょうか?

どのように解決するのですか?

新しいGit、新しいレポ

git バージョン 2.28.0 以降は git init コマンドは --initial-branch (または -b 略)パラメータを使用します。このふたつのコマンドは、新しい Git リポジトリを作成し、ブランチを "trunk" という名前にします。

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

で設定可能です。 init.defaultBranch という設定があります。すべての新しいレポのデフォルトブランチを "trunk"にしたい場合。

git config --global init.defaultBranch trunk

古いGit、新しいレポ

システムによっては、まだ古いGitがインストールされていることがあります。私の Debian 10 サーバー (Buster, the 現在の 2020年10月現在の安定版)にはGit 2.20が搭載されており、このバージョンでは -b というオプションがあります。リポジトリを作成してからブランチ名を変更するのも一つの方法です。この手法は、通常の(ベアでない)リポジトリに有効です。

git init
git checkout -b trunk

これは、新しいリポジトリを trunk の代わりに現在のブランチとして master . ブランチ master ブランチは、少なくとも一回コミットされるまで作成されません。 ブランチが作成されるまでは、ブランチが存在するのは .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 となります。