SORU
19 NİSAN 2011, Salı


Birleştirerek Çoklu Bir Önceki İtmek İçine İşleyen

Bu soru sadece bunu yaparken Gıt ile iyi ya da kötü bir uygulama olup olmadığını, bu görevi başarmak için nasıl, ama ilgilidir.

Yerel ana dalda çalışıyorum çoğu, ama ararım topikal bir şube oluşturduk düşünün"". topical_xFeature Bu işlem çalışma "topical_xFeature" ve geçiş ileri geri yapmak diğer iş ana dal, bu çıkıyor ben birden fazla kayıt üzerinde "topical_xFeature" şube arasında her sunmayacağım yapmış herhangi bir baskı.

İlk, acaba bu kötü bir uygulama mı? düşünün Sopa ile akıllı olmak bir itin başına şube başına işlemek değil mi? Ne durumda denediler önce bir şube üzerinde işleyen birden çok olması iyi olurdu, değil mi?

İkincipeki , nasıl en iyi gerçekleştirmek miyim çoklu getiren bir bas? ana dal içine topical_xFeature Dalı tamamlar Bu konuda endişe etmeyin bir sıkıntı olduğunu ve sadece birden fazla taahhüt nerede itme itiliyor, ya da daha az can sıkıcı bir durum içine işleyen, sonra itin bir şekilde birleştirmek için? Bunun nasıl yapılacağı yine?

CEVAP
19 NİSAN 2011, Salı


İlk soru için, Hayır, yanlış bastırıyor birden çok işleyen bir şey yok. Birçok kez, tüm seriyi hazır gibi hissediyorum bir kez işinizi küçük, mantıksal bir kaç tamamlar içine kırın, ama sadece onları itmek isteyebilirsiniz. Ya da kesilmiş olsa da yerel olarak işleyen birkaç yapıyor olabilirsin, ve tekrar bağlandıktan sonra onları itin. Bir itin başına işlemek için kendinizi sınırlamak için bir neden yok.

Ben genellikle bulmak iyi bir fikir tutmak için her bir kayıt tek bir mantıklı, tutarlı değişikliği içeren her şeye ihtiyacı için işe (yani, değil terk kodunuzu kırık bir devlet). Bir iki iptalleri var, ama bu kod sadece ilk uygulandığında kırık neden olsaydı, ikinci ilk içine işlemek squash için iyi bir fikir olabilir. Ama eğer iki her biri makul bir değişiklik yapar yaparsa, ayrı bir taahhüt olarak zorlayıp daha iyi.

Eğer birkaç birlikte tamamlar squash yapmak istiyorsanız, git rebase -i kullanabilirsiniz. Eğer Şubesi varsa, topical_xFeature, git rebase -i master çalıştırırsınız. Bu bir düzenleyici penceresi, taahhüt listelenen bir grup pick öneki ile açılacak. Tüm değiştirebilirsiniz ama bu değişiklikler tüm tutmak için Git söyle, ama önce onları squash squash, ilk commit. Bunu yaptıktan sonra master kontrol ve özellik, şube birleştirme:

git checkout topical_xFeature
git rebase -i master
git checkout master
git merge topical_xFeature

Eğer sadece master, topical_xFeature her şeyi ezmek istiyorsanız alternatif olarak, aşağıdakileri yapabilirsiniz:

git checkout master
git merge --squash topical_xFeature
git commit

Hangi seçeneği seçerseniz seçin size kalmış. Genellikle, birden çok küçük işliyor olması dert olmaz, ama bazen ekstra küçük iptalleri ile rahatsız etmek istemiyorum, sadece onları ezmek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hey Nadine

    Hey Nadine

    24 Kasım 2006
  • NikkoNantone

    NikkoNantone

    21 Kasım 2011
  • TSE

    TSE

    12 Kasım 2012