1. 程式人生 > >Git 衝突:Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.

Git 衝突:Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.

解決方案有三種:

1,無視,直接commit自己的程式碼。

git commit -m "your msg"

2,stash

    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的哪些節點都消失了。

3,硬覆蓋:放棄本地修改,直接用git上的程式碼覆蓋原生代碼:

git reset --hard
git pull

補充在 android studio 中的上述操作對應的圖:

方法 2 stash:

方法 3 硬覆蓋:

然後選擇