Nasıl git-merge ile seçici dosyaları birleştirme musunuz?
Paralel -- ama şu anda deneysel iki gelişme dalları olan yeni bir proje üzerinde gıt kullanıyorum:
master
: genel olarak eminim ki mevcut kod temeli artı birkaç mod almaexp1
: deneysel şube #1exp2
: deneysel şube #2
exp1
exp2
iki farklı mimari yaklaşımlar temsil eder. Daha fazla alana kadar birlikte bir (ya) işe hangi bilmenin bir yolu var. Bir dalda ilerleme yapıyorum ben bazen diğer şube yararlı olacağını düzenler ve bunları birleştirmek istiyorum.
Her şeyi geride bırakarak iken başka bir gelişme daldan seçmeli dosyaları birleştirmek için en iyi yolu nedir?
Düşündüm yaklaşımlar:
Dalları arasında ortak yapmak istemiyorum bu düzenlemeler, çok sayıda
git merge --no-commit
manuel unstaging izledi.Ortak manuel kopyalama temp dizini
git checkout
ardından çalışma ağaca diğer şube ve daha sonra elle kopyalama için temp dizini taşımak için içine dosyaları.Yukarıda bir varyasyon. Şimdilik
exp
dalları terk ve deneyler için iki ek yerel depoları kullanın. Bu dosyaları el ile kopyalama işlemi çok daha kolaylaştırıyor.
Bu yaklaşımlar üç sıkıcı gibi görünüyor ve hata eğilimli. Daha iyi bir yaklaşım var; bir şey git-merge
daha seçici olacağını filtre yolu bir parametre benzer umuyorum.
CEVAP
Siz tarafından yukarıda belirtildiği gibi aynı sorun vardı. Ama cevabı açıklayan this daha net buldum.
Özet:
Ödeme birleştirmek istiyorsun . yolları şube
$ git checkout source_branch -- <paths>...
Eğer bir değişiklik seçici birleştirme, reset kullanın ve eklemek gerekirse,
$ git reset <paths>...
< / ^ br .$ git add -p <paths>...
Sonunda işlemek
$ git commit -m "'Merge' these changes"
Nasıl iki gıt depoları birleştirme mus...
Nasıl bir seçici bir WordPress kullanm...
&; bul": yolları ifade gelmeli:&; Nası...
Nasıl sol dış birleştirme kullanarak s...
Nasıl bir ÇAPRAZ SERİ ile SQL BİRLEŞTİ...