2016-04-06 17 views
1

Git'te oldukça az sayıda küçük proje üzerinde çalışıyorum, ancak çoğu zaman çok fazla küçük değişiklikler yaptığım zaman, her zaman işe yaramayacak kadar tembel olduğumu görüyorum. Bu yüzden, dönüp kodumun işe yaradığı son zamanı anlamak istediğimde, bir taahhütte bulunmadığımı fark ettim. Merak ediyordum: Dosyalarımdan birini her defasında sakladığımda, oturum açmak için gitmenin bir yolu var mı? Mesaj yazmayı umursamıyorum; Sadece değişikliklerin kaydedilmesini istiyorum. Bu soruyu yönlendirdiğimde git stashing'a girdim; Yapmam gereken iş miktarını azaltır, ancak bunu ortadan kaldırmaz.
Herhangi bir öneri çok takdir edilecektir!Bir dosyada yapılan değişiklikleri sürekli olarak yapabilir miyim?

+0

Tam olarak ne gitmesi gerektiğini anlamanız için: git, arka planda çalışan bir program olmadığından otomatik olarak hiçbir şeyi yapamaz. Git, komut satırında git öğelerini yaptığınızda veya bir üçüncü taraf uygulaması gitmeyi kullandığında yalnızca çalışan komut dosyaları kümesidir. Yani basit cevap: git kesinlikle yapamaz, ama belki başka bir şey (kullanarak) yapabilirsiniz. – Peter

cevap

4

Git özdevinimli yok, ama isterseniz sizin için bunu yapmak için küçük bir komut dosyası ayarlayabilirsiniz: Bu, her 60 saniyede bir 'Çalışma' iletisiyle özdevinimli olacak

while sleep 60; do git commit -m 'Working'; done 

. ... Orada sizin dosya sistemini izlemek ve istediğiniz şekilde kaydetmek şey çalıştırır Guard gibi birçok araç da vardır, ama çünkü detayları hakkında endişeli değilim Şimdi çözüm dışında olduğunu


Bu arada, probleminiz hakkında konuşalım, çünkü bu yardımcı olmayacak. Son iyi devleti kurtarmamak yerine, ne zaman yaptığınızı gösteren bir gösterge olmaksızın sonsuz sayıda kısmi duruma sahip olursunuz. Belki bir kilometre taşına ulaştığınızda başka bir taahhüt eklemeyi hatırlayacaksınız, ama sadece otomatik olarak kabul ettiniz, bu yüzden bunu işaretlemek için hiçbir şey (bu durumda git commit --allow-empty kullanın) ve bunu yapmayı unuttuysanız, autocommit.

Yapmak istediğiniz şey, küçük, tutarlı değişiklikler yapma alışkanlığını geliştirmektir. Bunlar önceki bir duruma geri dönmenizi sağlar, ama aynı zamanda düşünce sürecinizi hem gelecekteki kendinize hem de birlikte çalışabileceğiniz herkese açıklayan ekmek kırıntıları olarak hareket eder. Her biri ile bir good commit message yazarsanız, daha da iyi.

Düzenli olarak iş yapmanın diğer yararı, işinizi, kodunuzu tasarlama biçiminize geri dönüştürebilecek küçük, işlenebilir parçalara ayırmanızı sağlar. Her zaman modülerliğin iyi olduğunu, tek sorumluluk ilkesinin iyi olduğunu duyuyoruz; Bu, bu daha iyi alışkanlıkları sürecinize kurmanın somut bir yoludur.

Sorununuzun yalnızca iyi işlemlere ayrıştırılmayacağını değil, bölümlerinin aslında tamamen bağımsız olduğunu fark edeceksiniz. Bunlar farklı dallara konabilir, aralarında istediğiniz gibi geçiş yapabilmenizi veya daha sonra ya da birbirini birleştirebilmenizi sağlar. Bu özellikle kodunuzu gözden geçiren herkes için yararlıdır, çünkü A ve B özelliklerini ve bir kerede bir megachangeset yerine bir C hatasını okuyabilirler.

Kendinize bir zaman ayırın ve her 5 dakikada bir çıkın (sık sık düşünün trenini kesintiye uğratmadan sıkça hissedilen bir dönem seçin). Ne zaman olursa olsun, görevinizde bir adım atıp tamamlamadığınızı kendinize sorun. Ding'ten beri muhtemelen başka bir şeyden geçeceksiniz, git add --patch'a aşina olacaksınız, böylece bitmiş olan bölümleri hazırlayabilirsiniz ve olmayan kısımlarda çalışmaya devam edebilirsiniz. Git'i ne kadar çok öğrenir ve kullanırsanız o kadar etkili olursunuz ve daha az zaman harcayarak daha az zaman harcayabilirsiniz.

İlgili konular