Eclipse有一個git的插件叫EGit,用於實現本地代碼和遠程代碼對比、合並以及提交。但是在本地代碼和遠程代碼有沖突的時候,EGit的處理方案還是有點復雜。今天就徹底把這些步驟給理清楚,並公開讓一些類似我這樣的初學者有個指引,如有不當,請多指正。
這里我通過OSC的git做了一個測試的項目,我先把項目導下來,然后把OSC上的項目做一些修改,同時修改已經導下來的項目。
Step 1
通過在Eclipse中右鍵項目,在team選項中選擇Synchronize Workspace, 然后出現項目同步視圖,如下圖,
大家應該注意到,有兩個文件是有沖突的。莫急,走起。
Step 2
既然有沖突,那么就開始合並沖突。合並沖突前,先要把代碼提交到git的本地倉庫。現在在同步視圖這里右鍵項目然后選擇Commit,如下圖,
然后會跳到代碼提交視圖,如下圖,
點擊Commit按鈕,注意是Commmit按鈕,而不是Commit and Push。
Setp 3
把代碼Commit到本地倉庫之后,我們就可以把遠程的代碼pull下來並且合並,如下圖,
把遠程代碼pull下來之后,同步視圖如下,
這里有點怪,EGit把遠程代碼pull下來的同時會把代碼同時merge了,這個動作很合理,但是讓我很不爽。但是不管它,繼續。點擊一下有沖突的文件,會在右邊的對比視圖看到如下面視圖,
這時我們要做的就是把已經合並了的文件修正過來。
Setp 4
把合並的代碼都修正過來之后,在在項目對比視圖右鍵項目然后選擇Add to Index,這個步驟非常重要,如下圖,
然后項目對比視圖會變成這個樣子,
注意,這個時候,沖突的文件前沖突的符號下就多了個星星。
Setp 5
到現在合並就已經完成,可以把代碼提交到遠程倉庫了。右鍵項目選擇Commit然后在下面視圖中點擊Commit and Push,
到現在這個步驟,Conguratulation,已經搞定了。