(假設分支為origin/master)
git pull介紹:
該指令會把伺服器上新增的檔案、删除、更新的檔案同步到本地,
沒有沖突時:遠端新增和删除還有更新的檔案,沒有和本地倉庫沖突,是以正常。
如果伺服器上的檔案a有改動(假設同僚送出),而你本地也對檔案a做了修改:
如果你們的代碼有重疊(即修改了同一行),則會報錯:Please, commit your changes or stash them before you can merge,比如:
git add 檔案a
git commit -m '送出資訊注釋'
然後,再使用
git pull origin master
會報錯:Automatic merge failed; fix conflicts and then commit the result.
意思是檔案a自動合并到本地時,發生沖突(此時檔案a已被更新),你需要修改被更新的檔案a。
打開本地檔案a,可以看到檔案a已經被更新(保留了伺服器檔案a的改動,同時也儲存了本地的檔案a的修改),此時,你需要修改檔案a,合并沖突的代碼。
然後
git add 檔案a,
git commmit -m '送出注釋資訊'
git push origin master
這時,伺服器上的檔案a,已經被替換成你push的檔案a了。
補充:
如何在 git pull之前檢視伺服器上有什麼檔案會被更新(合并)?
git fetch origin/master //遠端的主分支和本地的目前分支如果是同一個,則直接git fetch指令也可以。
git diff -w origin/master //檢視有什麼檔案的什麼位置會被更新