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 devdalda veya başka bir dalda olan bir taahhüdü işaret ettiğini varsayar . Değilse, iş kaybetme riskiniz vardır! git mergeHı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 fetchve yeni taahhütleriniz origin/mastervarsa, 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 devyapabilirsiniz ş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.
masterGeç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ı deviçine şube masterbundan, 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 mastergeliş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.