操作是這樣的:
開發A:更改A檔案程式碼。 commit,push。
開發B:更改B檔案程式碼。 commit, pull, merge。
這兩個操作都是在sourceTree圖形介面進行的。
極少數情況下會在merge的時候將舊版合併進去。參見下圖。
sourceTree版本:v2.1。
git版本:2.6.4.
A文件變動:
merge:
阿神2017-05-02 09:36:38
B要先rebase,再commit。 rebase的目的是為了讓自己的變更建立在A檔案修改之後的情況下。
根源是,這種情況下會出現conflicts,git判斷不出哪個是最終版,如果只用merge的話就會直接認為B把A檔又改了回去。