2010-01-21 4 views
8

Git kullanıyorum ve geçen hafta yerel deponun üzerinde yoğun bir şekilde çalışıyorum.Git büyük taahhütte bulunun İyi uygulamalar

Büyük olanlar yerine pek çok küçük (2 o 3 dosya gibi) işlem yapmayı severim, ancak bu zaman arasındaki zaman baskısı ile bu değişiklik birçok dosya içerdiğinden çok fazla sayıda dosyaya sahip değilim.

Sorum şu: Bu senaryoda en iyi uygulama nedir? Çalışmayı küçük işlere bölmeme izin veren herhangi bir araç var mı? Ben dosyaları teker teker sahneye bilen ve elle küçük hareketin yapmak, ancak bir hata yapmak korkuyorum ve benzeri (bir o tutarsız bir durumda kod bırakır taahhüt oluşturabilirim

Not derleme veya kötü çalışma değil.

Teşekkürler!

cevap

9

git add -i sonra, parçalar için kod git stash kalanını, herşey doğruysa git commit, git stash pop ve döngü kontrol taahhüt.

+0

Burada anahtar 'git stash'; OP, taahhütleri nasıl bölebileceğini zaten bildiğini söylese de, '-p' ('--patch') 'nin genellikle' -i'den ('interaktif') daha faydalı olduğunu unutmayın. – Cascabel

+0

Jefromi, OP bir dosyada * dosyaları nasıl * sahneye koyacağını biliyor *. –

+0

'git add -i' öğesini kullanmayı ve sonra da interaktif menüden' p (patch) 'yi seçiyorum ... bu şekilde, bir seferde çeşitli dosyaların seçilen hunkslerini seçebiliyorsunuz. Daha sonra, taahhütten önce 'git diff --cached' ile çift kontrol edin. – grossvogel

2

Bir dosyanın bir bölümünü git add --patch ile gerçekleştirebilirsiniz. Bu, aynı dosyalarda gerçekleşen alakasız değişiklikleri yapmadan ilgili değişikliklerin kümelerini oluşturmanıza izin vermelidir.

Geçerli olmayan tüm işinizi kaybetmeden geçerli HEAD test etmek isterseniz, arkadaşınız git stash. Eğer bölmek yardımcı olmalıdır

+1

Ayrıca dikkat: git stash -p –

1

Şahsen ben, aslında ne yaptığını görmek zor buluyorum ile çalışmak için biraz hantal bir şekilde git add -i buluyorum. Bununla birlikte, git guigit gui, i-hunk'ta ve hatta hat başına ve kayıtsız olarak oldukça iyi görünmektedir. Kademelendirmeden önce hızlı bir geçici düzenleme yaparak ve sonra hemen düzenlemeyi tersine çevirerek biraz desteğe ihtiyaç duyar, ancak çoğu zaman git gui benim için gerçekten işe yarıyor.