平時,同步代碼的習慣:
先把所有代碼提交到服務器,然後服務器可能有修改,這個時候就會造成服務器的log和本地log不同步,
解決方案如下,先確保本地已經把所有代碼提交到服務器了,可以push,或者打patch
然後再reset --hard 到前一筆提交,然後到服務器 用cherry-pick方式拉到最新代碼.
git fetch orgin 將遠程所有代碼記錄到FETCH_HEAD文件中
之後會看到很多衝突文件,然後告訴你那一筆的merge失敗了
然後git status 看看有哪些衝突文件
git log 找到這一筆提交
git reset --hard 到這筆提交
再看一眼 git status
發現有2個文件沒有commit
這個沒關係
直接git pull
然後git fetch 遠程地址 最新的代碼提交 && git cherry-pick FETCH_HEAD
然後再git log,大功告成