2014-02-18 45 views
1

我有兩個分支主(這是非常舊的)和新的。如何合併兩個在git中彼此不同的分支

我想實現的基本上是讓新分支成爲主人。

我試圖合併,但沒有成功。合併的結果仍然不是主分支變得與新分支相同。

我試圖重新綁定,但也沒有成功,它告訴我,我有一些已刪除的文件,無法重新綁定。最後,我從跟蹤中刪除了所有已刪除的文件,但仍然發生重新綁定的結果是錯誤的。

+0

你想克隆你的一個頭是主嗎?或者你是否試圖解決舊代碼和新代碼之間的衝突並獲得合併副本? – Mike

+0

我只想要一個分支,新的分支,我希望它被重新命名爲主。 – user1685095

+0

[此問題的副本<---------](http://stackoverflow.com/questions/2763006/change-the-current-branch-to-master-in-git) – Mike

回答

1

我會推薦使用「我們的」策略進行合併。這樣做可以讓你吸引主人的歷史,同時有效地忽視了其他一切。最終的結果是,新的主人,將看起來正是你當前的分支看起來像。

一步一步的將看起來像:

git checkout goodBranch 
git merge master -s ours 
git checkout master 
git merge goodBranch 
1

這聽起來像你只是要重命名的分支:

​​

在此之後,如果你想清理遠程太,因此:

git push origin old  # backup of the old master 
git push origin master -f # need to force, history changed 
git push origin :new  # delete "new", which is now master 
+0

此解決方案將只有當他們不是遠程分支時才真正有效,如果有的話,重命名過程會更復雜一些。 –

+0

我想你是對的,值得一提的是,所以我爲此添加了一個註釋。 – janos