解決方案一(不推薦):
本地的push和merge會形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)這樣的引用粗悯。HEAD代表本地最近成功push后形成的引用虚循。MERGE-HEAD表示成功pull后形成的引用。可以通過MERGE-HEAD或者HEAD來實現(xiàn)類型與svn revet的效果横缔。將本地的沖突文件沖掉铺遂,不僅需要reset到MERGE-HEAD或者HEAD,還需要–hard。沒有后面的hard茎刚,不會沖掉本地工作區(qū)襟锐。只會沖掉stage區(qū)
git reset --hard FETCH_HEAD
git pull
上面的解決方法非常非常的霸道,是可以解決這個錯誤膛锭,但是它會回到初始的節(jié)點粮坞,假如我有修改本地代碼但是沒有提交,那么使用reset初始初狰,可能會丟失這些修改的代碼莫杈。
在正式環(huán)境中不建議這樣做,在這里我給大家道歉奢入,給大家造成不必要的損失筝闹,對不起
下面給大家介紹一種正確的解決方案
//注釋:提交本地代碼到工作區(qū)
//注釋:如果有沖突,先解決沖突合并代碼腥光,然后提交
//注釋:如果代碼上沒有沖突关顷,但是提交的時候git提醒有沖突,那么先關(guān)閉編輯器武福,然后編譯代碼找到?jīng)_突解寝,最后手動合并代碼解決沖突
git add .
git commit -m '提交本地代碼并且獲取最新代碼'
//注釋:獲取源dev分支最新代碼
git pull origin dev
//注釋:如有沖突就解決沖突
這里一定要注意,自己本地修改的代碼要么提交要么隱藏后再獲取艘儒,最好不要直接用reset