bir yerel şubeyi başka bir yerel şubeye birleştir


169

Master (her biri ayrı bir alt dizinde) dallı birden fazla dalı var.

  • Branch1: yeni gelişme, henüz tamamlanmadı
  • Branch2: bir sorun için düzeltme, ancak hala test altında
  • Branch3: geri yüklemeyeceğim dalın etrafında karışıklık

Düzeltme sınaması tamamlanmadan önce kodu Branch1'de zaten kullanılabilir olmasını istiyorum, bu nedenle yerinde düzeltme ile geliştirmeye devam edebilirim.
(Ama git ile ilgili deneyimim o kadar da fazla olmadığından, özellikle 3. dalda birleştirme ile oynamaya başladım, özellikle Dal1 veya Dal2'yi karıştırmadan önce etrafta karışıklık yaratmak için yaratılmıştım)

3. şubemde önce aşağıdakileri denedim:

git merge feature/Branch1

ancak bu şu hatayı verdi:

fatal: 'feature/Branch1' does not point to a commit

Daha sonra Şubemde bir -a yaptım ve tekrar denedim, ama aynı hatayı vermeye devam ediyor.

Neyi yanlış yapıyorum? Kodu bu durumda Branch1'den Branch3 ile birleştirmek için ne yapmalıyım?

Yanıtlar:


240

İlk olarak, Şubenize3 çıkış yapın:

git checkout Branch3

Ardından Şube1'i birleştirin:

git merge Branch1

Ve Branch2'deki Branch1'in güncellenmiş taahhütlerini istiyorsanız, muhtemelen git rebase

git checkout Branch2
git rebase Branch1

Bu, Branch2'nizi Branch1'in en son güncellemeleriyle güncelleyecektir.


1
(Branch2 güncellemelerini Branch1'e ;-) istiyorum) Branch2 Branch1'i görüyor, ancak her iki dalda bir git şubesi yaptığımda başka bir yol değil. Bu yüzden Branch1 Şubesi 2 için bir yeniden taban yapamıyorum: git rebase Branch2 -> ölümcül: Tek bir düzeltme gerekli
Nemelis

Rebase git rebase origin / Branch2 olarak yaptığım zaman hala bu hata mesajını veriyor + geçersiz yukarı akış orijini / Branch2
Nemelis 11:16

1
@ Si8 bu sadece Şube1'den Şube3'e kadar olan taahhütleri ekleyecektir. Branch1 olduğu gibi tutulacaktır.
gabra

1
Teşekkürler, bu yüzden şu anda Dev şubesinde bulunuyorsam ve Dev1'in birleştirilmesi durumunda, Dev1'i Dev ile birleştiririm, doğru mu?
Si8

1
Evet. Denemenizi tavsiye ederim. Bir şey kırılırsa geri dönebilirsiniz. Bir VCS'nin amacı budur.
gabra
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.