本文首發hilsion的博客
今天遇到一個在使用git上的一個誤區。具體的問題現象是:
我commit后再pull而不能在本地合並的情況,結果導致我的commit直接把同事的修改覆蓋了。因為相對於我此次的commit的A版本是同事的提交的B版本的上一個C版本,我直接是對C版本進行的修改,就是因為我沒有先把同事的B版本先pull下來在本地產生一個最新的版本的合並。
我一直都是先commit后再pull,這樣能“避免”沖突,事實上這樣肯定不行,這樣會導致你的commit不是基於最新的版本來進行的,而是上一個版本,這其中有其他的提交而在服務器上產生了最新的版本。而這樣避免沖突的方式是錯誤的,更像是躲開了沖突。正確的操作是先pull下來,再添加,然后沖突解決,然后提交推送.
下面有一個簡單的圖示: