idea中使用git提交程式碼報錯:commit your changes or stash them before you can merge.
阿新 • • 發佈:2019-02-05
今天用git pull來更新程式碼,報了下面的錯
error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.java
Please, commit your changes or stash them before you can merge.
在網上搜索了一番找到解決方案
1.stash
通常遇到這個問題,你可以直接commit你的修改;但我這次不想這樣。
看看git stash是如何做的。
git stash
git pull
git stash pop
接下來diff一下此檔案看看自動合併的情況,並作出相應修改。
git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容儲存到Git棧中。
git stash pop: 從Git棧中讀取最近一次儲存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。
git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。
2.放棄本地修改,直接覆蓋之
git reset --hard
git pull
如果想在idea終端上,使用命令.可以做如下設定
settings--->tools--->Terminal中的shell path 填上
1 |
D:\Program Files\Git\bin\ bash .exe
|
即git安裝目錄下bin下的bash.exe或者sh.exe
重新開啟終端即可。
同理,如果你想設定powershell也是一樣,找到powershell的路徑填上去就行。