Listeleme ve silme Git hiçbir şube (sarkan?)altında tamamlar
Özel bir şube altında tamamlar bol git deposu var, 4 ** onları mümkün ama bunları içeren şubeleri listesine çalıştığımda, hiçbir şey geri bildiriyor:
Bu sarkan/ağaç sorunu iptalleri (- D şube) bağlı olarak, repo ben budanmış ben de öyle düşünmüştüm, ama yine de bundan sonra: söz bakın
$ git fetch origin
$ git fsck --unreachable
$ git fsck
Hiçbir çıkış, hiçbir şey sarkan (değil mi?)
$ git show 793db7f272ba4bbdd1e32f14410a52a412667042
commit 793db7f272ba4bbdd1e32f14410a52a412667042
Author: ..
Ama
$ git branch --contains 793db7f272ba4bbdd1e32f14410a52a412667042
Hiçbir çıkış verir
Tam olarak bu durumu işlemek nedir? Nasıl liste yapabilirim benzer devlet ile tamamlar, Nasıl bu gibi haller silebilir miyim?
CEVAP
Bu reflogs tüm sarkan tamamlar ve bu ulaşılabilir kaldırmak için:
git reflog expire --expire-unreachable=now --all
git gc --prune=now
Ama istediğinin bu olduğundan emin olun. Man sayfaları okumanızı tavsiye ederim ama işte kitap
git gc
erişilmez nesneler (tamamlama, ağaçlar, lekeler (dosyalar)) kaldırır. Bir nesne erişilemez ise bazı şube tarihinin bir parçası değil. Aslında biraz daha karışık
git gc
diğer bazı şeyler yapıyor ama burada önemli ve tehlikeli değildir.
İki hafta daha genç olan erişilmez nesneler --prune=now
kullanıyoruz yani kaldırılmaz anlamına gelen "şimdi önce oluşturulan ulaşılmaz nesneleri kaldırın".
Nesneleri de reflog üzerinden ulaşabilirsiniz. Dalları bazı proje tarihi kaydederken, bu şube tarihinin rekor reflogs. Sen değiştirme, vb sıfırlayın. bir hata yaptın farkında mısın, diye tamamlar şube tarihi kaldırılır ama gıt etrafında onları tutar. Reflogs yıkıcı ve diğer işlemleri bir şube (veya KAFASINI) üzerinde, daha yıkıcı bir işlemi geri almak için yapım yapıldı ne bulmak için kolay bir yol vardır.
Biz de reflogs aslında her şey bir bölümünden ulaşılabilir kaldırmak için. Yani --all
reflogs dolacak tarafından yapıyoruz. Tekrar git reflogs biraz daha anlat için bunu yapmak için değil yani kullanıcıları korumak için saklar: --expire-unreachable=now
.
Ben özellikle reflog yıkıcı faaliyetlerinden kurtarmak için kullanmak beri ben tamamen reflogs vuruyor genelde --expire=now
kullanın.
eclipse xdebug oturum hiçbir zaman tam...
Şube' 3 tarafından tamamlar '...
Hareket şube kullanarak git üzerine us...
Git hiçbir şube ile etiketi karşı işle...
SVN bir Şube silme...