我們在使用SVN好幾年後有時候會混淆,我必須承認,這很混亂。以下面的示例 -https://bitbucket.org/xxx/yyy Git合併分支'主'
- User1對a.java進行更改並將其推送到遠程服務器。
- User2對b.java進行了更改。他不能馬上推(SVN的偏差,但沒關係)。他需要先從遠程服務器拉出,然後將其更改推送到遠程服務器。這將顯示爲單獨的合併提交,並在here on stackoverflow itself
- 中得到了很好的解釋。現在是有趣的部分。如果我們推斷這是多個文件,那麼與User2更改的其中一個可能會發生衝突。這一次,git無法進行自動提交。用戶2將不得不解決衝突,然後提交此合併。
這令人困惑,因爲沒有對這麼多文件進行更改的用戶會對將它們作爲此合併提交(特別是SVN背景)的一部分進行提交持懷疑態度。如果此用戶現在只提交他解決衝突並推送到遠程的文件,Git將停止提供他未推送的最新版本的文件。這帶來了我在團隊其他人中失去了工作的感覺。
這段漫長的故事後,我的問題是,爲什麼它這樣做?爲什麼GIT不應該保留其他文件的最新版本?作爲自動合併的一部分,git是否應該知道用戶沒有提交所有帶給用戶機器的文件?有沒有可以避免犯這個錯誤的機制?
Thanks @Helmut。 –