当我们在进行多人开发的时候,冲突问题是一定会遇到的,如果不想办法解决,那是真的很头疼,加班不为了别的,就为了解决冲突,就问你怕不怕!!
原因:线上版本的代码和本地分支的代码不一致,所以就会导致冲突,以下办法为本人开发经验,百试百灵。
防止冲突问题的出现:
先完成本地开发,我们可以这样做:
1.新建分支(git checkout -b feature-xxx)这个xxx就是功能名字
2.添加代码监听(git add -a)add后面的命令,可以自己上网查,这里就不细说了
3.提交代码到暂缓区(git commit -m "注释说明")
然后进行更新本地develop分支
1.先切换到develop分支(git checkout develop)
2.更新本地develop分支(git pull)
注意:
当在git pull的时候报了error: Your local changes to the following files would be overwritten by merge:
xx/xx/xx/xx/xx.xx
Please commit your changes or stash them before you merge.
这类型的,我们应该用git log --oneline,然后选择最新的那个版本号(如:4589a56c3e574a)
这时候输入命令:git reset --hard 版本号(4589a56c3e574a),回退到最新版,然后再进行第三步操作即可
3.再切换到上面的开发的辅助分支(git checkout feature-xxx)
4.再把辅助分支和本地的develop衍合在一起(git rebase develop)
5.再推送到远程仓库(git push),输入这个命令后会出现一条完整的git push 命令,复制粘贴+回车键即可(我之所以不输入完整命令,是因为,,,都懂的)
上面的方法解决了冲突所带来的问题,所以一般都不会有冲突问题的出现的,但如果还是出现了这个问题的话,我还有终极大招,绝对有效
解决冲突问题:
把自己写好的代码(注意:只能是自己的代码,别人不会动的那种)或者文件,复制一份出来,放到一个安全的地方(安全的地方指的是,你接下来的操作都不会影响到的那个地方),然后重新找个地方,把线上的最新的代码(git clone 远程仓库地址)下下来,然后把自己刚才复制出来的代码放进项目相应的地方,把原来自己写的旧代码覆盖了,然后新建分支(这里有的人会先新建辅助分支,然后再把新代码粘贴回项目里面,其实都一样的,都可以的,亲测没问题),再按照上面的方法去提交代码就行了。
本人第一次写博客,不喜勿喷,如果有需要改正的地方,欢迎指出错误,谢谢。。
Unless you try to do something beyond what you have already mastered you will never grow.