SORU
18 EYLÜL 2008, PERŞEMBE


Nasıl Gıt zulası düştü kurtarmak için?

Ben sık sık git stash git stash pop ve çalışma ağacımı değişiklikleri kaydetmek için kullanın. Dün sakladığım vardı ve ortaya bu çalışma ağacımı bazı değişiklikler yaptım, o benim ağacım daha değişiklik yaptım. Geri dönüp dün sakladığını değişiklikleri gözden geçirmek istiyorum, ama git stash pop ilişkili işlemek için tüm başvuruları kaldırmak için görünür.

Eğer git stash sonra kullanırsam biliyorum.git//içeren zula başvurularıbaşvuru zula oluşturmak için kullanılan kaydetme. Ve.git//başvuruları/stash günlükleri içerirbütün zula. Ama bu başvuruları git stash pop sonra gitti. Hala benim depoda bir yerlerde meşgul olduğunu biliyorum, ama ne olduğunu bilmiyorum.

Kolay bir şekilde dün kurtarmak için referans tamamlama zulası var mı?

Bu günlük yedekleme var çünkü bugün benim için önemli değildir ve dünkü çalışmaya ağaç benim değişiklikler için unutmayın. Daha kolay bir yolu olmalı çünkü ben soruyorum!

CEVAP
18 EYLÜL 2008, PERŞEMBE


Daha yeni çıktı ve terminal hala açıksa, still have the hash value printed by git stash pop on screen (teşekkürler, Dolda).

Aksi takdirde, bu kullanarak bulabilirsiniz:

git fsck --no-reflog | awk '/dangling commit/ {print $3}'

Bu size gösterecektir tüm tamamlar ipuçları size taahhüt grafiği olan artık başvuru herhangi bir şube veya etiketi – her kayıp işlemek dahil her zula taahhüt ettik şimdiye kadar yaratılmış olacak bir yerde o grafiği.

Zulayı bulmak için muhtemelen en kolay yolu gitk listeye geçmek istediğiniz tamamlama:

gitk --all $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )

Bu depo bir tarayıcı gösteren başlatacakher bir depo içinde hiç commitne olursa olsun olup olmadığını ya da ulaşılabilir değil.

Eğer ayrı bir GUI uygulaması üzerinde konsolda güzel bir grafik isterseniz gitk git log --graph --oneline --decorate gibi bir şey ile değiştirebilirsiniz.

Saklamak için taahhüt nokta bu formun mesaj kaydetme:

        üzerine yarı MAMUL . ben^>somebranch: . ben^>Biraz eski mesaj taahhüt commithash

Bu karma istiyorsun taahhüt öğrendikten sonra, zulası olarak uygulayabilirsiniz:

git stash apply $stash_hash

Veya gitk bağlam menüsü ilgilenen herhangi bir internet iptalleri için dalları oluşturmak için kullanabilirsiniz. Ondan sonra, her şey normal araçları ile onlarla ne istersen yapabilirsin. İşiniz bittiğinde, sadece o dalları tekrar darbe.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007