用git pull拉取遠程分支代碼時候遇到如下問題:
error: Your local changes to the following files would be overwritten by merge:
a.js
b.js
Please, commit your changes or stash them before you can merge.
原因是:別人修改了a.js和b.js到版本庫中,你本地也修改了a.js和b.js,此時你git pull操作就出現了沖突,解決方法上面提示了。
1,git commit 本地的修改,------貌似這個方法沒用,還是會提示這個error
2,git stash
git stash
git pull origin release/V1.8.0
git stash pop
stash原理是:先把工作區恢復到上次提交的內容,同時備份本地的修改,之后就可以正常的pull代碼了,pull完成后,再進行stash pop將之前的修改返回到當前工作區。
git stash:備份當前工作區的內容,從最近一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致,同時,將當前工作區的工作內容保存在Git棧中;
git stash pop:從Git棧中讀取最近一次保存的內容,恢復工作區的相關內容。如果存在多個stash的內容,所以用棧來管理,pop會從最近一個stash棧中讀取內容並恢復。
git stash list:顯示Git棧中所有的備份,利用列表來決定從哪個地方恢復。
git stash clear:清空Git棧。
如果要放棄本地的修改:
git reset --hard
git pull origin 分支名
【完】
眾人皆醉我獨醒