SORU
6 HAZİRAN 2013, PERŞEMBE


Git özelliği şubesine girerek ana birleştirme

Git şu durum var diyelim:

  1. Bir depo oluşturuldu:

    mkdir GitTest2
    cd GitTest2
    git init
    
  2. Usta bazı değişiklikler gerçekleşecek ve taahhüt.

    echo "On Master" > file
    git commit -a -m "Initial commit"
    
  3. Feature1 master kapalı dallı ve bazı işler yapılır:

    git branch feature1
    git checkout feature1
    echo "Feature1" > featureFile
    git commit -a -m "Commit for feature1"
    
  4. Bu arada, bir hata usta-kod tespit ve düzeltme-bir şube kuruldu

    git checkout master
    git branch hotfix1
    git checkout hotfix1
    
  5. Hata düzeltme şube sabittir ve geri Efendimiz (belki de çekme isteği/kod gözden geçirdikten sonra birleştirilmiş):

    echo "Bugfix" > bugfixFile
    git commit -a -m "Bugfix Commit"
    git checkout master
    git merge --no-ff hotfix1
    
  6. Feature1 geliştirme devam ediyor:

    git checkout feature1
    

Özellik benim şube düzeltmeyi istiyorum Ki, belki hata da oluşur. şimdi sorum şu: Ne özelliği benim şube içine işleyen çoğaltma olmadan bunu başarabilir miyim? Önlemek için özelliği bu uygulama ile hiçbir ilişkisi yoktur hangi özelliği benim dalda iki yeni taahhüt almak istiyorum. Bu özellikle önemli görünüyor bana kullanayım Çekme İstekleri: Bütün bu haller de dahil Çekme İsteği ve olmak zorunda yapılmıştır, ancak bu zaten yapıldı (düzeltme, zaten yüksek lisans).

git merge master --ff-only bir şey yapamıyorum: "önemli: hızlı ileri sarmak için mümkün Değil, iptal ediliyor.", ama eğer bu bana yardımcı oldu emin değilim.

CEVAP
6 HAZİRAN 2013, PERŞEMBE


Nasıl özellik şube ana Dalı birleştirmek? Kolay:

git checkout feature1
git merge master

Yapılamaz gibi bir hızla burada birleştirme öne doğru zorlama, işaret yok. Özelliği dal ve ana dal hem de içine işledin. Hızlı ileri imkansız.

gitflow bakabilirsiniz. Takip edilebilir gıt için dallanma modeli ve bilinçsizce bile. Ayrıca ekler aksi takdirde el ile yapmak için ihtiyacınız olan şeyler otomatik olarak yeni bir iş akışı adımları için bazı komutlar hangi gıt uzantısıdır.

Sana doğru bir iş akışı içinde ne yaptı? Birlikte çalışmak üzere iki şubesi var, feature1 Şubesi "" gitflow modeli. şube geliştirmek bu temelde

Ana düzeltme bir şube oluşturulmuş ve tekrar birleştirilmiş. Ve şimdi sıkışmış.

Gitflow modeli düzeltme "" senin durumunda. feature1 olan devel dalı için de birleştirmek için sorar

Gerçek cevap şu olabilir:

git checkout feature1
git merge --no-ff hotfix1

Bu özellik, şube, ama SADECE bu değişiklikler için düzeltme içinde yapılan tüm değişiklikleri ekler. İle şubedeki diğer geliştirme değişiklikleri çakışma olabilir, ama çatışma ile ana şube özelliği Dalı master sonuçta tekrar birleştirmek gerekir.

Rebasing ile çok dikkatli olun. Deponuzu yerel kaldı yaptığın değişiklikler sadece rebase, örneğin başka bir depo için herhangi bir dalları bir kenara ittin. Rebasing sen dünyaya dışarı iterek önce yararlı bir düzen halinde yerel tamamlar düzenlemek için harika bir araçtır, ama daha sonra rebasing senin gibi git yeni başlayanlar için işler berbat olacak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jagadambarecords

    jagadambarec

    13 AĞUSTOS 2008
  • joshsnice

    joshsnice

    28 Kasım 2006
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010