クローンしたローカルリポジトリがありますgit clone --mirror <ssh-url>
。その後、を使用して最新の状態に保ちますgit remote update --prune
。
この時点でHEAD
、refs/heads/master
次に、github リポジトリの Admin セクションに移動し、デフォルト ブランチを変更します。すべてのブランチは通常どおり更新されますが、HEAD はまだ更新されていますrefs/heads/master
(はい、ブランチのハッシュは異なります)。
私の現在の考えはgit ls-remote
、HEAD とすべてのブランチのハッシュを取得するために使用し、grep/awk マジックを使用して HEAD のハッシュを抽出し、一致するハッシュを持つ最初のブランチを選択し、使用git symbolic-ref HEAD <found branch name>
してローカルに設定することです。
HEAD
しかし、(スクリプトで更新できる方法で)リモート ブランチ名を取得する簡単な方法はありますか?