Bu so-sorunun takibi : Eğer sığ bir klonum varsa, tam bir klon yapmak için tüm eski taahhütleri nasıl getirebilirim?
Bu so-sorunun takibi : Eğer sığ bir klonum varsa, tam bir klon yapmak için tüm eski taahhütleri nasıl getirebilirim?
Yanıtlar:
EDIT: git fetch --unshallow
şimdi bir seçenek (teşekkürler Jack O'Connor).
Çalıştırabilirsiniz git fetch --depth=1000000
(deponun bir milyondan az taahhüt olduğu varsayılarak).
git fetch --unshallow
var (@ sdram'ın cevabında olduğu gibi), bu cevap artık en iyisi değil.
git fetch --depth=2147483647
komuta sağlamak için mümkün olan en büyük derinliktir.
git fetch --unshallow
, ama yine de tüm dalları göstermiyor.
Aşağıdaki komut (git sürüm 1.8.3) sığ klonu normal olana dönüştürecektir
git fetch --unshallow
Daha sonra, orijindeki tüm şubelere erişmek için (yorumlarda @Peter'e teşekkürler)
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*";
git fetch origin
bir yanıttan .git / config öğesini elle düzenlemekle aynı olmalıdır
git fetch --unshallow --update-head-ok origin '+refs/heads/*:refs/heads/*'
benim için çalıştı
Bir depoyu sadece belirli bir taahhüde kadar derinleştirmem gerekiyordu.
Okuduktan sonra man git-fetch
, bir taahhüt belirleyemediğini, ancak bir tarih belirleyebildiğini öğrendim:
git fetch --shallow-since=15/11/2012
Artımlı derinleşmeye ihtiyaç duyanlar için başka bir man
alıntı:
--deepen=<depth>
--Depth öğesine benzer, ancak her uzak dal geçmişinin ucu yerine geçerli sığ sınırdan taahhüt sayısını belirtir.
Yukarıdaki mesajların hiçbiri hile yapmadı. Sığ bir klondan başlayarak git etiketleriyle çalışmaya çalışıyorum.
Önce denedim
git fetch --update-shallow
hangi tür yarı yolda çalıştı. Henüz etiket yok!
git fetch --depth=1000000
Bu son komut gerçekten etiketleri getirdi ve sonunda çalıştırabilirim
git checkout -b master-v1.1.0 tags/v1.1.0
ve onunla yapılabilir.
HTH