Repo Foo ve repo Bar verildi. Bar'ı Foo ile birleştirmek istiyorum, ancak yalnızca adı verilen ayrı bir dalda baz.
git checkout -b baz <= Bar deposunu buraya koyun.
Repo Foo ve repo Bar verildi. Bar'ı Foo ile birleştirmek istiyorum, ancak yalnızca adı verilen ayrı bir dalda baz.
git checkout -b baz <= Bar deposunu buraya koyun.
Yanıtlar:
Depoyu bir dalda birleştiremezsiniz . Başka bir depodan bir dalı yerel deponuzdaki bir şubeye birleştirebilirsiniz . İki deponuz olduğunu ve her ikisinin de geçerli dizininizde yer aldığını varsayarsak :foobar
$ ls
foo bar
Depoya değiştirin foo:
$ cd foo
barDepoyu uzaktan kumanda olarak ekleyin ve getirin:
$ git remote add bar ../bar
$ git remote update
Yeni bir şube oluşturma baziçinde foogeçerli dalıdır neyse dayalı depo:
$ git checkout -b baz
Şube Birleştirme somebranchgelen barakım dalı haline depo:
$ git merge --allow-unrelated-histories bar/somebranch
( --allow-unrelated-histories2.9 sürümünden önce gerekli değildir)
"Gerçek hayat" komutlarıyla güncellendi:
Depo dizininizden başlayın, çalışma kopyanızın temiz olduğundan emin olun (hiçbir dosya değiştirilmez, eklenmez veya kaldırılmaz).
Yeni bir şube oluşturun:
git checkout -b <my-branch>
İkincil uzaktan kumandayı ekleyin, ardından getirin:
git remote add <repo-name> git@github.com:xxx/<repo-name>.git
git remote update
Mevcut şubenizde şubelerinden birini birleştirin:
git merge <repo-name>/<their-branch>
Hangisini <their-branch>istediğini bilmiyorsan , o zaman gitmaster
Tüm uzak değişiklikleri kabul etmek ve çakışmalardan kaçınmak istediğinizden eminseniz ( kendinizin üzerine yazın ) , son adımda -X theirsseçenek olarak belirtebilirsiniz git merge.
Bir alt dizine eklemek istiyorsanız, muhtemelen git alt modüllerini kullanmalısınız.
Larsks'taki kılavuzu kullanarak bunu SourceTree kullanarak yapabildim.
--allow-unrelated-historiesgit merge komutuna eklemeniz gerekecek .