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?
cevap
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.
- 1. Kullanıcıya özel bir gitignore dosyası yapabilir miyim?
- 2. Git'te yapılan değişiklikleri nasıl geri alırım?
- 3. sürekli olarak başka bir program C++ linux
- 4. Bir sorguda bir tablodan güncelleme yapabilir miyim?
- 5. Dosyada Değişiklikleri Kaydetmek zorunda kalmadan Page
- 6. Elasticsearch içinde bir alanla arama yapabilir miyim?
- 7. Dinamik bir olay gönderme diyaloğu yapabilir miyim?
- 8. "Bir kez yaz" Moose özniteliği yapabilir miyim?
- 9. Swift'de sabit bir abonelik yapabilir miyim?
- 10. MVC - Görünümlerde ifs yapabilir miyim
- 11. Git: İki etiket arasında yapılan değişiklikleri başka bir dalda nasıl birleştirebilirim?
- 12. Bağlı bir DataGridView'da yapılan değişiklikleri nasıl geri yüklersiniz?
- 13. T-sql'de bulma/değiştirme yapabilir miyim?
- 14. Sürekli işlemler için Sidekiq kullanabilir miyim?
- 15. ASP.NET MVC 3 Ajax.BeginForm ve Html.TextBoxFor sunucuda yapılan değişiklikleri yansıtmıyor
- 16. Neler yapabilir/yapabilir?
- 17. Maven-montaj-eklentisini daha hızlı yapabilir miyim?
- 18. Ansible: Komut satırından rol yapabilir miyim?
- 19. Klasörde yapılan değişiklikleri izlemek için Delphi'yi kullanıyor musunuz?
- 20. Java'da posta sunucusunda arama yapabilir miyim?
- 21. Hızlı dahili uzantıları iç jeneriklerle yapabilir miyim?
- 22. Son veri tabanı tarafından yapılan değişiklikleri geri alın
- 23. Visual Studio 2010'daki kaynak kontrolünden yapılan değişiklikleri ekleyin.
- 24. java programı kullanılarak yapılan değişiklikleri geri alma nasıl yapılır
- 25. SVN FTP üzerinde çalışma kopyasına yapılan değişiklikleri birleştirme
- 26. Bir regexp_substr vererek sorgulayarak belirli bir grup yapabilir miyim?
- 27. Django: Başka bir uygulamanın alt klasöründe bir uygulama yapabilir miyim?
- 28. Nesnemin bir dize sürümünü serileştiren bir kurucu yapabilir miyim?
- 29. , bir ekleme işleminde başarılı bir seçim yapabilir miyim?
- 30. çalışma dizininde yapılan değişiklikleri silin ve son işleme geri dönün
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