2011-12-08 20 views
12

Bir merkezi repo ve yerel bir repo'um var. Repo, "varsayılan" dal ve bir tane "mybranch" dalına sahiptir. ÇalışırkenBirincisi bir varsayılan şube ilk olarak adlandırılmış bir şube birleştirmeli mi yoksa tam tersi mi?

  1. benim yerel repo
  2. içine merkezi repo son çekin: Ben adlandırılmış dalda çalışan benim ve bazen varsayılan içine benim değişiklikleri birleştirme ve o zaman bu yapmalıyım adlı dalda çalışmaya devam etmek istiyorsanız mybranch içinde,
  3. ardından "hg update default" yapmak ve "hg merge mybranch"
  4. lokal
  5. taahhüt varsayılan INTO mybranch birleştirmek için yerel taahhüt mybranch INTO bir " hg merge default" birleştirmek için varsayılan yapmak VEYA

yukarıdaki ile aynıdır, ancak merkezi repo e

  • itme 4. ile 2. geçiş? (Ben ilk varsayılan INTO mybranch birleştirilmesi ediyorum ki?

  • cevap

    6

    şimdi buna sahip yolu (mybranch önce) içine default benim tercih edilen yoldur birleşir.

    Belirli bir özellik için değişiklikleri izole etmek için şube kullanma eğiliminde veya düzenli aralıklarla adlı şube içine default gelen changesets getirmek en iyisidir böylece üstlenmeden. Bu şekilde adlandırılmış şubesinin değişiklikler default dalına ilişkin olarak yukarı güncel tutulur.

    +0

    Teşekkürler - çünkü bazı diyagramlarda, önce varsayılan olarak birleştirdiğiniz diğer yolu gördüm. Bunun için bir neden olup olmadığını bilmiyordum. Örneğin: http://nvie.com/posts/a-successful-git-branching-model/ (Bu Git'tir, ama sen benim için bir noktaya gelirsin ...) – BestPractices

    +0

    Bu şema gayet iyi çünkü tek bir değişiklik oldu ] 'master' dalına doğrudan,' geliştirme 'dalına da dahil olan bu düzeltmedir. Yapılabilecek bir yol, "master" dalındaki düzeltme değişikliklerini işlemek ve daha sonra "master'ı" geliştirmeye "birleştirmektir. “Usta” nın “gelişmeye” daha fazla dahil edilmemesinin tek nedeni, entegre olması gereken “master” üzerinde hiçbir şeyin değişmemesidir. Bakılması gereken bir diğer iyi nokta, bu diyagramdaki 'geliştirme 've' bırakma' dalları arasındaki etkileşimdir. –

    +0

    "Geliştir" ve "serbest bırakma dalları" arasındaki etkileşime bu şemada baktığımda, "geliştir" ilkinin "serbest bırakma dalları" na birleştirildiğini ve "serbest bırakma dalları" nın "gelişmeye" dönüştüğünü sanıyor Şu anda işler yaptığımın tersi olan dal (eğer "şubeleri" "eşdeğeri" ile eşdeğer olarak "serbest bırakma dalları" olarak düşünürseniz ve "geliştirmek" gibi "gelişir". Bu diyagramı yanlış yorumluyorum? – BestPractices

    11

    yazmıyorsun olduğunu sen

    bazen özelliği yapılır yapmıyorsanız, normal default dalı haline özellik şube birleştirme olmamalıdır adında şube

    çalışmaya devam sonra varsayılan içine benim değişiklikleri birleştirmek ve istiyoruz. Belki de demek istediğin bu mu?

    Sadece başvuru için, önerilen iş akışı

    1. özellik dalı haline default değişiklikleri yapın orada işinizi Düzenli
    2. (birkaç günde bir) özelliği dalı

    3. oluşturma birleştirme yapmaktır:
      1. hg pull

        diğer geliştiricilerin son değişiklikleri almak için
      2. hg merge özellik dalı tüm yapıldığında, sen default geri birleştirme Özelliğinizin dalı
    4. içine son değişiklikleri bütünleştirmek için:

      1. hg pull
      2. hg update default şube çıkış için size birleştirmek için
      3. hg merge myfeature ile birleştirmek istediğinizde

    nihai birleştirme özelliği dalı haline default düzenli birleştirmeleri geri ortak bir atadan iki şube kafalarından sadece küçük bir mesafe vardır emin olur çünkü çok küçük olacaktır.

    +1

    "Özellikler" iniz yeterince küçükse bu doğrudur. Ancak çoğumuz aşamalı olarak, "tamamlanmamış" olsa bile parçaları makul bir standarda tamamlıyor. –