Your local changes to the following files would be overwritten by merge: ... Please, commit your cha

Git出現error: Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge.的問題解決(Git代碼衝突)git

 

在使用git pull拉取服務器最新版本時,若是出現error: Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge.錯誤時,表明這代碼衝突了,本地修改了代碼致使沒法覆蓋服務器上的。服務器

此時有以下解決方法:post

注意:在作全部操做前,切記要先備份本地代碼。.net

一、若是但願保留生產服務器上所作的改動,僅僅併入新配置項, 處理方法以下:code

git stash
git pull
git stash pop

而後可使用Git diff -w +文件名來確認代碼自動合併的狀況。blog

二、若是要直接使用服務器上最新版本,那麼能夠選擇直接覆蓋it

git reset --hard
git pull

其中git reset是針對版本。ast

 

http://blog.csdn.net/misakaqunianxiatian/article/details/51103734class

 

 

##############################服務器端

方法1:若是你想保留剛纔本地修改的代碼,並把git服務器上的代碼pull到本地(本地剛纔修改的代碼將會被暫時封存起來)

git stash  
git pull origin master  
git stash pop

 

如此一來,服務器上的代碼更新到了本地,並且你本地修改的代碼也沒有被覆蓋,以後使用add,commit,push 命令便可更新本地代碼到服務器了。

 

方法二、若是你想徹底地覆蓋本地的代碼,只保留服務器端代碼,則直接回退到上一個版本,再進行pull

git reset --hard
git pull origin master
相關文章
相關標籤/搜索