舉個栗子,現有 productA 分支和 productB 分支,項目是一般在productA分支上做,合並到productB分支,但現在productB分支上的客戶現在的需求越來越多,而且他們的需求productA上還用不到,所以只能在productB分支上做他們的需求(不要說在productA上做注釋掉,合並到productB上時再打開注釋,項目里不至這兩個分支,反正項目因為各種原因 productB的需求只能在productB分支上做,就是這么任性,哈哈哈),說重點,就是productA可以合並到productB,但productB上邊的需求隨着時間的推移 越來越多,和productA分支的差異越來越大,再加上最一開始書寫代碼的不注意,導致合並的時候 沖突是越來越多,每次解決沖突都會很長時間
其實很大原因是書寫代碼不注意位置,導致git 找不到正確的位置,例如下邊這樣,這是在這兩個分支上的同一個文件
只是舉了一個簡單的例子,這樣如果合並的話 git上會有很多的沖突,因為他只按照一個方法一個方法往下匹配,如果你只選擇保留當前的修改或者保留傳入的修改,這樣都會有問題,因為你自己都做忘了你是在哪個分支修改了哪個方法里的內容
所以 最最重點來了
如何解決呢?
首先你切換到productA分支上將要你想解決的文件復制一份,再切換到productB分支上,新建文件,隨便起個名字將復制的那個文件內容粘上去,將這個文件先保存到productB分支上(處理完畢再丟棄掉就好了),我直接重命名兩個文件的名字為productA和productB,現在是在productB分支上,調整productB文件 減少沖突
這樣就會有紅色的差異 你只要按照這個修改就好了,在productB上修改就好了,像這樣
很是完美,以后合並就減少很多沖突上的問題,開心