Git衝突:commit your changes or stash them before you can merge.

今天用Git pull來更新代碼,遇到了下面的問題:html

 

[html]  view plain  copy
 
  1. error: Your local changes to the following files would be overwritten by merge:  
  2.     xxx/xxx/xxx.java  
  3. Please, commit your changes or stash them before you can merge.  
  4. Aborting  


提示已經很友好了,從網友處獲得的答案直接幫我解決問題。java

 

1.stashgit

一般遇到這個問題,你能夠直接commit你的修改;但我此次不想這樣。工具

看看git stash是如何作的。spa

 

git stash
git pull
git stash pop

 

接下來diff一下此文件看看自動合併的狀況,並做出相應修改。.net

git stash: 備份當前的工做區的內容,從最近的一次提交中讀取相關內容,讓工做區保證和上次提交的內容一致。同時,將當前的工做區內容保存到Git棧中。
git stash pop: 從Git棧中讀取最近一次保存的內容,恢復工做區的相關內容。因爲可能存在多個Stash的內容,因此用棧來管理,pop會從最近的一個stash中讀取內容並恢復。
git stash list: 顯示Git棧內的全部備份,能夠利用這個列表來決定從那個地方恢復。
git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。code

 

2.放棄本地修改,直接覆蓋之xml

 

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