プロジェクトの中央ストアとして使用される裸のリポジトリがあります。すべての開発者はそれgit clone <repo>を共有するために行います。クローンを作成すると、が含まれているgit clone -nため、マスターブランチのチェックアウトを取得します(そうでない場合)。これにより、これがアクティブブランチになります。repo.git/HEADref: 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ファイルが。