Git提交代码冲突:commit your changes or stash them before you can merge.

用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 分支名

 

【完】

众人皆醉我独醒

posted @ 2018-09-18 11:46  tangjiao_Miya  阅读(1961)  评论(2编辑  收藏  举报