Git

2012-08-14 30 views
9

'daki değişiklikleri atmanın doğru yolu Değişiklikleri atmak/Git'i kullanarak önceki bir işleme dönmek için birçok farklı yaklaşım gördüm. Genelde durumum için hangi işlerin işe yaradığını anlayabiliyorum, ancak bu süreçte farklı yaklaşımlarla kafam karıştı. Son zamanlarda bazı dosya isimlerini geri almaya çalışıyordum ve ne kadar zor olsa da dosyaların eski sürümlerini git checkout denedim ve eski dosyalarımı geri alamıyordum.Git

Hangi yaklaşıma ve neden kullanmaya açıklık getirmeye çalışıyorum. İşte birkaç yaklaşımımı anladım. Cevabın çok bağlamsal olabileceğinin farkındayım, ancak hangi bağlamların hangi yaklaşımları gerektirdiğini araştırmak istiyorum.


1) dosyaların en son sürümünü ödeme için kullanılır git checkout -- .

  • , eski dosyaların üzerine yazılır ama yeniden adlandırılmış veya yeni dosyalar silinir etkiler olmaz.

2) git stash save --keep-index sonra tamamen onları damlalar, git stash drop

  • stashes kaydedilmemiş dosya eklenmiştir. İyi bir yaklaşım varsa, değişiklik yapmak istediğiniz ve saklanmak istemediğiniz/kaydedilmemiş değişiklik yapmak istediğiniz değişiklikleri yapın. son tamamlama beri

3) git reset --hard

  • silme, ve eklemeler, dosya yeniden adlandırır dahil her şeyi siler.

Bu benim seçeneklerin benim şimdiki anlayış. Açıklamalarımda yapabileceğiniz herhangi bir değişiklik var mı? Yukarıdaki komutların yerine git revert kullanacağım zaman da emin değilim.

Kaynak mesajlar:

cevap

9
git stash -u 

tercih edilen yoldur. Düşme. İtilmeyecekler. Keşfettiğin bir şeyi zapartmış olsaydın, onları geri alabilirsin.

Diğer seçenekleriniz yıkıcıdır.

Geri dön, bir işlemin gerçekleştirdiği bir yamanın karşıtını uygulayan tarihe yeni bir taahhüt ekliyor. Buradaki seçimleriniz, henüz tarihin bir parçası olmayan çalışma tablonuzdaki değişikliklerle yapmak istediğiniz şeydir. Geri alma, tarihin bir parçası olan kararlı değişiklikler içindir.

+0

Ne yapar? Stash yığınımı ihtiyacım olmayan kodla doldurmak istemiyorum. –

+0

Stashınızı doldurmak için endişelenme. İzlenenlere ek olarak izlenmeyen dosyaları da saklar. Sıfırlama gibi davranmasına izin verir. –