1. 程式人生 > >commit your changes or stash them before you can merge 解決方法

commit your changes or stash them before you can merge 解決方法

問題:在你merge or change master 前,提交你的改變,或者儲存改變。

問題原因:上次commit後,程式碼發生了新的變化,如果merge或者change master 就可能導致程式碼丟失。

解決方案:保留本地的修改 的改法——通過git stash  

git stash

git pull

git stash pop

git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容儲存到Git棧中。通過git stash將工作區恢復到上次提交的內容,同時備份本地所做的修改,之後就可以正常git pull了,git pull完成後,執行git stash pop將之前本地做的修改應用到當前工作區。

git stash pop: 從Git棧中讀取最近一次儲存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。

git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。

git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。

2、放棄本地修改 的改法  ----這種方法會丟棄本地修改的程式碼,而且不可找回,通常不這樣使用。