Geçerli dalı, diğer dalı kontrol etmeden başka bir dalda birleştirmek için:
Hızlı ileri birleştirme
Bu gerçekten kolay. Tanım olarak, bir hızlı ileri birleştirme, dal işaretçisinin işleme ağacında ileriye doğru hareket ettiği anlamına gelir. Tek yapmanız gereken bunu simüle etmek:
git branch -f master dev
Uyarılar: Bu master
, aynı zamanda dev
dalda veya başka bir dalda olan bir taahhüdü işaret ettiğini varsayar . Değilse, iş kaybetme riskiniz vardır! git merge
Hızlı ileri alma mümkün olmadığında bir birleştirme taahhüdü oluşturacak (veya şikayet edecek) aksine , bu yöntem sessizce şube işaretçisini başka bir taahhüde işaret etmeye zorlar .
Bu aynı zamanda repo üzerinde çalışan tek kişi olduğunuzu ve / veya ne yaptığınızı bildiğinizi varsayar.
İpucu: Bir işlem yaptıysanız git fetch
ve yeni taahhütleriniz origin/master
varsa, master
şubeyi aşağıdakileri kullanarak kontrol etmeden taşıyabilirsiniz :
git branch -f master origin/master
Birleştirme taahhüdü ile birleştirme
Bu her zaman mümkün değil. Bir birleştirme taahhüdü oluşturmak için bir birleştirme işlemi yapmanız gerekir. Birleştirme işlemi yapmak için, diğer dalda geçerli dalda olmayan taahhütlerinizin olması gerekir.
İçinde kaydedilmesini var ise master
şunlardır şube değil de dev
yapabilirsiniz şube:
Feragatname: Bu sadece bir kavram kanıtıdır, sadece kontrol etmeden diğer şubeyle birleştirmenin bazen mümkün olduğunu göstermek için . Her gün kullanmak isterseniz, büyük olasılıkla kabuk yeniden yönlendirme kullanarak bir takma ad yapmak veya bunun için bir kabuk komut dosyası yapmak istersiniz. Sonra tekrar, soruda gösterilen daha kısa işlem için bir kabuk komut dosyası yapabilirsiniz.
git checkout -b temp
git merge --no-ff -e master
git branch -f master temp
git checkout dev
git branch -D temp
Açıklama:
- Mevcut şubeyle aynı taahhüde işaret eden geçici bir şubeye göz atın.
master
Geçici şubeyle birleştirin ve tamamlama mesajı düzenleyicisini başlatın. Eğer birleştirme istiyorsanız taahhüt gibi bakmak , birleştirilmesi vardı dev
içine şube master
bundan, düzenleyebilir it:
Merge branch 'master' into temp
buna:
Merge branch 'dev'
İpucu: Daha hızlı olmak -m "Merge branch 'dev'"
yerine kullanabilirsiniz -e
.
master
Şube işaretçisini birleştirme işlemine işaret edecek şekilde güncelleyin .
dev
Şube kontrol edin .
- Geçici dalı silmeye zorlayın.
Bu hala çalışma ağacınıza dokunur, ancak asgari düzeyde. Sadece master
geliştirme değişikliklerini bir kez daha getirmek için ağacı orijinal haline kadar geri döndürmez . Bazıları umursamayabilir, bazıları için önemli olabilir.