赞
踩
在团队开发过程中,可能会遇到以下情况:小张和阿亮都拿到了远程仓库的v1版本代码,分别更新后,在小张想把v2版本推送到远程仓库时,阿亮手快,先把自己的v3推送上去,那么此时小张就无法成功推送,原因是,现在的远程仓库版本是v3,而小张的v2是基于v1修改的。
解决方案:
- 先使用 git pull 重新拉取远程仓库代码,git会合并改动。
- 再次使用 git push xxx 即可成功
示例:小张先对代码修改,加上这句注释
阿亮修改代码后,把自己的版本先推送到远程仓库
现在小张想推送上去,给出的信息是被拒绝了。并且提示,可以在推送前使用git pull更新一下代码。
那就先使用 git pull 更新,它显示合并了这些改动
再来看代码,发现和阿亮的改动合并在了一起,这时候再推送到远程仓库就没有问题了。
基于第一个冲突,如果两个人修改的是同一个地方,合并的时候就会失败。
如下图,小张和阿亮在同一个地方改动
在阿亮先推送到远程仓库,小张再推送,
和上个例子的区别就是,git会合并失败,提示: Automatic merge failed; 需要手动解决这个冲突。
合并后的结果是这样的:
需要手动解决:
再推送就可成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。