Saya memiliki repositori kosong yang digunakan sebagai pusat toko untuk proyek saya. Semua pengembang lakukan git clone <repo>untuk berbagi dengannya. Ketika mereka melakukan kloning, mereka mendapatkan checkout dari cabang master (kecuali jika mereka melakukannya git clone -n) karena repo.git/HEADmengandung ref: refs/heads/master, menjadikan ini Cabang Aktif .
Pertanyaannya adalah, bagaimana cara mengubah Cabang Aktif dengan benar? Saya hanya bisa meretas repo.git/HEADfile secara langsung, tetapi itu tampak tidak menyenangkan dan, well, hacky.
Saya mencoba melakukan git checkout <otherbranch>di .gitdirektori repo , tetapi gagal karena saya tidak berada di pohon kerja.
Saya mencoba git update-ref HEAD refs/heads/otherbranchtetapi yang baru saja memperbarui referensi / kepala / master harus sama dengan referensi / kepala / cabang lainnya (oke, saya melakukan itu di repositori dummy, bukan produksi saya!)
Saya mencoba git update-ref --no-deref HEAD refs/heads/otherbranchdan itu hampir berhasil. Itu memperbarui HEADfile, tetapi mengaturnya ke SHA1 dari komit yang ditunjuk oleh refs/heads/otherbranch.
Saya sedang menguji dengan versi git 1.7.0.2.msysgit.0.
Saya kira tidak ada cara untuk melakukan ini git push, karena memungkinkan semua orang untuk mengubah cabang default Anda tampaknya sedikit tidak aman (!), Tapi pasti ada cara yang lebih baik untuk melakukannya di .gitdirektori repo daripada langsung meretas HEADfile.