master誰もが git リポジトリで作業している「メイン」ブランチである名前ブランチは、単なる慣習であると想定しています。右?
では、名前を使用しないようにオーバーライドされた git リポジトリの「メイン」ブランチ名をどのように知ることができますmasterか?
2 に答える
すでにリポジトリのクローンを作成しており、リモートの名前が であると仮定するとorigin、次を実行できます。
git symbolic-ref refs/remotes/origin/HEAD
これは通常 を出力しますrefs/remotes/origin/masterが、プロジェクトがsomeotherbranchデフォルトとして選択した場合は が表示されますrefs/remotes/origin/someotherbranch。
背景: ローカル (裸ではない) リポジトリで、HEAD現在チェックアウトされているものを示します。共有 (ベア) リポジトリには作業ディレクトリがないため、何もチェックアウトされません。したがって、裸のリポジトリでHEADは、リポジトリのデフォルトのブランチ ( を実行したときに取得するブランチgit clone <url>) を示すために使用されます。
リポジトリを複製すると、リモート リポジトリのHEAD参照がローカルrefs/remotes/origin/HEAD参照にコピーされ、実行するたびに更新されますgit remote update(ただし、共有リポジトリのデフォルト ブランチを変更する人はほとんどいません)。これにより、(上記のsymbolic-refコマンドを実行して) リモート リポジトリのデフォルト ブランチの名前を簡単に確認できます。