Projem için merkezi mağaza olarak kullanılan çıplak bir depom var. Tüm geliştiriciler git clone <repo>onunla paylaşmak için yaparlar . Klonu yaptıkları zaman, ana daldan bir ödeme alırlar (yapmazlarsa git clone -n) çünkü repo.git/HEADiçerdiği ref: refs/heads/masteriçin bunu Aktif Dal yapar .
Soru, Aktif Şubeyi nasıl düzgün bir şekilde değiştirebilirim ? Sadece repo.git/HEADdosyayı doğrudan hackleyebilirdim , ama bu kötü ve, hacky gibi görünüyor.
git checkout <otherbranch>Repo .gitdizininde yapmayı denedim , ancak çalışma ağacında olmadığım için başarısız oldu.
Denedim git update-ref HEAD refs/heads/otherbranchama sadece refs / heads / master'ın refs / heads / otherbranch ile aynı olması için güncellendi (tamam, bunu kukla bir depoda yaptım, üretimde değil!)
Denedim git update-ref --no-deref HEAD refs/heads/otherbranchve neredeyse işe yaradı. HEADDosyayı güncelledi , ancak işaret ettiği taahhüdün SHA1'ine ayarladı refs/heads/otherbranch.
Git sürümü ile test ediyorum 1.7.0.2.msysgit.0.
git pushTüm ve muhtelif varsayılan dalınızı değiştirmek için izin biraz güvenli (!) Gibi izin, bunu yapmak için hiçbir yolu olduğunu tahmin ediyorum , ama kesinlikle dosya .gitdoğrudan kesmek daha repo dizinde yapmak için daha iyi bir yolu var HEAD.