2014-01-20 78 views
0

在我的項目中,例如我有兩個分支(讓它是br_1br_2)。在每個分支中,我會提出一些問題。我在這期間有一些問題:使用分支的git衝突

對於某些問題(在br_2)我需要重命名錶列中的一個。所以,一切正常,我做了升級腳本(使用Magento),它改名爲列,工作正常。當我切換到另一個分支時出現了這個問題(在這個分支中,我的舊腳本被問到了列的舊名稱)。

所以,現在,在br_1上有一個錯誤。

First way是要重命名錶列,並且在這個分支上做你想要的。但在此之後,我需要再做一次,並且在我將所有分支合併到主之前。

Second way是將php srcipt上的舊名欄改爲br_1

有沒有更乾淨的方法來解決它?

回答

2

您可以mergebr_2br_1,將採取所有的歷史(提交)在br_2br_1失蹤,合併他們的br_1的變化之上。或者,如果您在br_2中的修復包含在單個提交中(如[548662a4] Fix name of table column),則可以將cherry-pick提交到br_1

第一個選項(需要br_2所有歷史):

git checkout br_1 
git merge br_2 
// Potentially fix and merge conflicts, and re-commit 

第二個選項(需要br_2提交):

git log br_2 
// commit 548662a48154cf741649892cefc421135c65caf1 
// Fix name of table column 

git checkout br_1 
git cherry-pick 548662a4 
// Potentially fix and merge conflicts, and re-commit 
+0

是的,我想櫻桃挑,但問題是需要在br_2上重命名的問題,並且爲br_2創建的所有問題都需要在br_2上,但是爲另一種方式+1,謝謝 – sergio

+0

@sergio我有點困惑通過爲什麼櫻桃挑選不起作用。我明白這個問題在'br_2'上,但它似乎也影響了'br_1'。在那種情況下,我不明白爲什麼你不希望'br_2'中的修正也出現在'br_1'中。如果你詳細說明,我仍然可以提供幫助。 – Sam