Magit'te, 'saklamak' ve 'anlık görüntü' arasındaki fark nedir?


18

Magit kullanım kılavuzu küçük harf komutları bir tasarruf: İki "stashing" komutları setleri içerir zulası bir tasarruf ve büyük harf komutları anlık . Google ve Stack Overflow ve git-stash(1)man sayfasına danıştıktan sonra , farkın ne olduğunu hala bilmiyorum.

Fark ne?


1
Benim anlayışım stashda değişiklikleri sıfırlayacak (geri alacak) ve değişiklikleri snapshotçalışma alanında bırakacak (itmeden önce taahhütleri yeniden düzenleyecekseniz yararlı olabilir).
wvxvw

Yanıtlar:


25

Hem "stash" hem de "snapshot" varyantları aynı stash nesnelerini oluşturur. Fark Bir anlık görüntüyü oluştururken, daha sonra saklanmış değişiklikler olmasıdır değil çalışan ağacın ve / veya dizindeki dosyaları kaldırılır. (Tıpkı iyi vakit geçiren arkadaşlarınızın anlık görüntüsünü aldığınızda olduğu gibi - bu onların da kaybolmasına neden olmaz ;-)

Bu, bir çeşit yedekleme mekanizması olarak tasarlanmıştır. Diyelim ki bazı karmaşık yeniden düzenleme işlemleri yapıyorsunuz ve test ettiniz ve değiştirilmiş kod hala çalışıyor gibi görünüyor, ancak henüz işiniz bitmedi. Şimdi bir anlık görüntü oluşturmak için iyi bir zaman olacaktır, böylece daha sonra karıştırırsanız geri dönecek bir şeyiniz olur.

Elbette, sadece üzerinde çalıştığınız dalda, bunu gerçekleştirmek için geçici bir "silme" taahhüdü oluşturabilirsiniz. Genellikle bunu yaparım.

Ayrıca, Wip modlarını etkinleştirerek devam eden çalışmaların kaydını otomatik hale getirebilirsiniz . Bir güvenlik ağı olarak bu modları etkinleştirdim, ancak yine de doğrudan geçerli dalda wip taahhütleri oluşturuyorum veya bir anlık görüntü oluşturuyorum. Bunlarla çalışmak, silme referanslarından daha kolaydır.

Magit, Elisp'te yazılmış kendi özel uygulama ile geliyor. Bu, anlık görüntü varyantlarını ve yalnızca çalışma ve yalnızca dizin içeren stash varyantlarını uygulamak için gerekliydi. Git bu varyantlardan hiçbirini sağlamaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.