Git: çıplak bir depo içinde Aktif Şube değiştirmek için bir yolu Doğru mu?
Projem için merkezi bir depo olarak kullanılan çıplak bir depo var. Tüm geliştiriciler git clone <repo>
ile paylaşmak. Klon geldiklerinde, repo.git/HEAD
ref: refs/heads/master
bunu yapmak içerdiğinden ana şube git clone -n
yaptıkları sürece) bir ödeme alıyorlarAktif Şube.
Soru, nasıl değiştirebilirimAktif Şubedüzgün? Sadece repo.git/HEAD
dosyayı doğrudan kurcalayabilirim ama, bu, iyi, kötü hacky görünüyor.
git checkout <otherbranch>
repo .git
dizin yapmaya çalıştım, ama bu işe bir ağaç değildi, çünkü başarısız oldu.
Denedim git update-ref HEAD refs/heads/otherbranch
ama bu sadece güncelleme başvuruları/kafa/usta aynı kalmak başvuruları başkanları//otherbranch (Tamam, yaptığım bir kukla depo, üretim!)
Neredeyse çalıştı git update-ref --no-deref HEAD refs/heads/otherbranch
ve denedim. HEAD
dosyası güncel, fakat kabul edilen SHA1 refs/heads/otherbranch
ile işaret etmek için bunu ayarlayın.
1.7.0.2.msysgit.0
git sürüm ile test ediyorum.
Hepinize ayrı ayrı varsayılan şube değiştirmek için izin biraz güvensiz geliyor git push
ile bunu yapmanın yolu yok diye tahmin ediyorum (!), ama kesinlikle repo doğrudan HEAD
dosya hack daha .git
dizin bunu yapmanın daha iyi bir yolu var.
CEVAP
Eğer uzaktan çıplak repo erişimi varsa, bu 27**:
git symbolic-ref HEAD refs/heads/mybranch
İçeren depo KAFASI dosya güncelleme sağlayacak
ref: refs/heads/mybranch
git-symbolic-ref
belirtildiği gibi
Eğer uzak repo erişim yok eğer doğru değilse, my previous answer bkz.
git remote set-head
: gibi bir komut hatırlıyorum
varsayılan şube değiştirmezuzakrepo.
Sadece bir değişiklikuzaktan izleme şubesenin içinde saklıyerelrefs/remotes/<name>/HEAD
repoHEAD
kendisi (yine, sadecerefs/remotes/<name>/HEAD
), dolayısıyla değiştirmez gerekgit symbolic-ref
.
git remote set-head
değilcevabı burada.
git symbolic-ref HEAD
uzaktan repo doğrudan erişim varsa.
Kolay bir yolu, bir liste içinde bir m...
Bu kullanmak için doğru yolu Nedir `.T...
Modern Python özel istisnalar bildirme...
Git bir şube birleştirmek için en iyi ...
Tek örnek bir uygulama oluşturmak için...