赞
踩
我们在开发的时候正常pull是可以pull下来的,但当其他人和你的代码在同一个文件进行修改时,就会出现冲突,如下面场景:
这个可以看到它其实是给了两种解决方法
Please commit your changes or stash them before you merge.
但是直接commit时,它会进入一个编辑状态,这个时候其实相当于已经进行合并了,但这会出现一些问题,有一些冲突可能报错。
所以我也是经过尝试后采用了第二种方法
先对这些命令进行简单的介绍
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。
根据这些命令,再遇见pull冲突时可以进行以下的流程
git stash
git pull
git add .
git stash pop
在进行这四步后,如果有冲突,我们就能在我们的编辑器中看到了,如下:
解决完冲突后,就直接进行add、commit、push三件套即可
用stash的操作的原理就相当于,先利用没有修改过的代码进行代码拉取,然后再将备份的代码与已经拉取的代码在本地合并,然后进行本地的冲突修改。这样就避免了直接commit合并代码造成的问题了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。