现在协同开发中,git分布式版本控制工具已经是必需品了,那在使用中,难免会有各种问题出现,下面就讲讲的经历,让其他人少走弯路。
问题描述:
本地开发完自己的代码(项目中分配的开发模块)之后,要进行提交代码到git上,那在提交之前,为了保证当前代码为最新,会先进行git pull拉取当前远程最新的代码,拉取过程中出现<dev | MERGING>合并的要求;
上面报这个就是 拉取的远程代码和本地代码出现了冲突,这种冲突需要手动来进行选择。(就是同一个文件中同一处出现更新)
不愉快的解决方式:
我有过一次错误的解决方式,导致我之前开发的代码被远程给覆盖了。(说出来都是泪)
我是在之前遇到这个问题的时候,在网上搜索了很多方法,其中很多是这样操作的:
git reset --hard head
这个命令是用来版本回退的(本地,不影响git库中的内容), 所以执行之后就之前的代码就没了。
所以大家在看到这个网上的一些方法时,先不要急着去照着执行,要自己去理解指令的真正的作用。
亲测可行的解决方式:
下面就说一下自己的操作,执行下来,都没有什么问题,但这个大家在借鉴的时候也要根据自己的实际情况来判断
1 . git pull 出现 MERGING 字样,先仔细看清楚git 命令窗口所报具体冲突的文件,或者使用git status来查看当前文件的状态
2. 在编辑器中,找到冲突的文件,找到突出的位置,进行手动选择
3. 然后就是依次执行 'git add .' ' git commit ' 'git push' (git push 是更新到远程分支)