2016-02-26 52 views
1

一位同事和我正在開發一個項目,使用git進行源代碼控制。今天下午,我做了幾個提交到一個特定的文件,MyFile.txt。我將我的更改推送到我們的主分支(trunk),並且我的同事在不久之後合併了他(不相關的)更改。這裏有一個視覺:Git合併提交沒有任何變化刪除文件編輯

enter image description here

我的同事後作出的合併提交(此提交上述標記爲1.0.1834),我所有的變化都不見了!

我切換回我的提交(標記爲1.0.1833)以驗證我是否正確提交了我的更改;我做了 - MyFile.txt從那天下午開始我的所有變化。但是,如果我切換到我的同事的合併提交(標記爲1.0.1834),MyFile.txt處於其原始狀態,沒有任何更改。

我的同事的合併提交(1.0.1834)不包含任何更改 - gitk中的「差異」窗口爲空。下面是從我們的網站GitLab提交另一種觀點認爲:

enter image description here

發生了什麼?我的更改在哪裏進行?我怎樣才能防止這種情況在將來發生?

回答

1

如果您的cowroker完成了git merge --ours,可能會發生這種情況。

生成的合併提交將與他以前的提交HEAD相同。

這是合併策略我們:

合併的結果樹始終是當前分支頭,有效地忽略來自所有其他分支所有更改。它是用來取代側枝的舊發展歷史。
請注意,這不同於-Xours選項到遞歸合併策略。