プロジェクトの中央ストアとして使用される裸のリポジトリがあります。すべての開発者はそれgit clone <repo>
を共有するために行います。クローンを作成すると、が含まれているgit clone -n
ため、マスターブランチのチェックアウトを取得します(そうでない場合)。これにより、これがアクティブブランチになります。repo.git/HEAD
ref: refs/heads/master
問題は、Active Branchを適切に変更するにはどうすればよいですか?repo.git/HEAD
ファイルを直接ハッキングすることもできますが、それは厄介で、ハッキングされているようです。
git checkout <otherbranch>
repo .git
ディレクトリで実行しようとしましたが、作業ツリーにいないため失敗しました。
私は試しましたgit update-ref HEAD refs/heads/otherbranch
が、refs / heads / masterがrefs / heads / otherbranchと同じになるように更新しただけです(そう、私はそれを自分のプロダクションではなく、ダミーのリポジトリで行いました!)
私が試したところgit update-ref --no-deref HEAD refs/heads/otherbranch
、ほとんど問題なく動作しました。HEAD
ファイルを更新しましたが、それが指すコミットのSHA1に設定しましたrefs/heads/otherbranch
。
私はgitバージョンでテストしています1.7.0.2.msysgit.0
。
私は、を介してこれを行うには方法はありません推測しているgit push
すべてと雑貨が(!)デフォルトのブランチは少し危険なようで変更することができて、しかし確実にレポでそれを行うには良い方法があります.git
直接ハッキングよりもディレクトリHEAD
ファイルが。