场景:

其实这种冲突是甲乙两个人或多人进行开发同一个组件,但是某个人提前提交了代码,当另一个人进行提交代码的时候去git pull的时候,就会报如下。主题上述描述的场景,俩人开发同一个组件可能确实存在正真的冲突,修改了同一个地方;但是在大概率上其实并没有冲突,只是本地的代码和仓库的并未保持最新而已。

git 冲突: Please, commit your changes or stash them before you can merge. git stash_git stash

优雅的解决方式

git stash
git pull
git stash pop

git stash:
备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

git stash pop:
从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

粗鲁的,或麻烦的 解决方式

粗鲁1、放弃本地修改,直接覆盖掉,(在这之前把自己修改的代码cv出去,然后覆盖完之后去回填,在提交)

git reset --hard
git pull

粗鲁2、还原本次修改,然后再去git pull。(在这之前把自己修改的代码cv出去,然后还原之后去回填,在提交)