git報錯:error: Pulling is not possible because you have unmerged files


溫馨提示:在做以下操作的時候請把自己的項目進行備份,,,進行備份,,,進行備份,若因為此類操作造成代碼丟失不負責~~~

git pull的時候出現如下的錯誤:

 錯誤:無法提取,因為您有未合並的文件。

解決方案一(不推薦):

本地的push和merge會形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)這樣的引用。HEAD代表本地最近成功push后形成的引用。MERGE-HEAD表示成功pull后形成的引用。可以通過MERGE-HEAD或者HEAD來實現類型與svn revet的效果。將本地的沖突文件沖掉,不僅需要reset到MERGE-HEAD或者HEAD,還需要–hard。沒有后面的hard,不會沖掉本地工作區。只會沖掉stage區

git reset --hard FETCH_HEAD
 
git pull

  上面的解決方法非常非常的霸道,是可以解決這個錯誤,但是它會回到初始的節點,假如我有修改本地代碼但是沒有提交,那么使用reset初始,可能會丟失這些修改的代碼。但在正式環境下不建議這么做。

下面給大家介紹一種正確的解決方案:(可靠)

//注釋:提交本地代碼到工作區
//注釋:如果有沖突,先解決沖突合並代碼,然后提交
//注釋:如果代碼上沒有沖突,但是提交的時候git提醒有沖突,那么先關閉編輯器,然后編譯代碼找到沖突,最后手動合並代碼解決沖突
git add .
git commit -m '提交本地代碼並且獲取最新代碼'
//注釋:獲取源dev分支最新代碼
git pull origin dev
//注釋:如有沖突就解決沖突

  這里一定要注意,自己本地修改的代碼要么提交要么隱藏后再獲取,最好不要直接用reset

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM