2015-09-14 34 views
5

Bir şubedeki tüm değişiklikleri, birleştirmeden başka bir şubeye (mevcut şube) itmek istiyorum.Bir şubeyi başka bir mevcut şubeye çoğaltmak için:

Örnek için, iki şube dalını1 şubeye2 düşünün. Sırasıyla hem dal1 hem de dal 2 iz kökü/dal1 ve köken/dal2. Branch1 sahip

A, B, C, D, E taahhüt, Branch2 sahiptir F A, B, D, F

tam olarak branch1 gibi Branch2 yapmak isteyen kaydeder. Kiraz toplama ve birleştirme, zamanın çözülmesini istemediğim bir çatışmaya yol açacaktı, çünkü yapmaya çalıştığım tek şey, şube 1'i şube 2'ye kopyalamak.

ben birleştirme komutları bazı --force seçenekler arasında bunu yapmanın daha iyi bir yolu var mı

git checkout branch1 # Moves to branch1 
git push origin :branch2 # Deletes remote branch origin/branch2 
git branch -d branch2 # Deletes the local copy of this branch 
git pull 
git push origin HEAD:branch2 # Creates new branch in remote repository from the HEAD at local branch branch1 

bunu mümkün. Aynı adı taşıyan yeni bir şube oluşturmak için şubeyi her defasında silmek istemiyorum.

Teşekkür

+1

olası yinelenen [git ile başka şubesine bir şube nasıl sıfırlanır?] (Http://stackoverflow.com/questions/15943434/how-to-reset-a-branch- to-another-branch-with-git) – Joe

+0

ama eğer senin kararların çatışmada çözülürse, o zaman neden dünyanın her yerinde körü körüne dökmek istersin? – DevDonkey

+0

Git checkout branch2' 'git reset - hard branch1' gibi bir seçenek sizin için bir seçenek olabilir mi? – Melebius

cevap

-2
git checkout branchA 
git merge -X theirs branchB 
ait
+0

-X sadece strateji seçeneğidir. Varsayılan strateji özyinelemeli strateji seçeneğini sadece çakışmalar için kullanır. Git-birleştirme yardımına bakın. – Weidenrinde

+0

Olası çözümlerin bir listesi: http://stackoverflow.com/questions/4911794/git-command-for-making-one-branch-like-another – Weidenrinde