最近在新公司进行开发中,代码管理工具全公司统一使用Git来管理,对于我这个从来没用过的菜鸟来说整整折腾了2天才完全学会使用,一般的提交代码,更新仓库代码之类的基本上没问题,最让人头疼的就是提交代码时,发生代码冲突,目前还没有养成每天下载代码的习惯,有时候会产生一些冲突,就算知道那里冲突了,又不像SVN、VSS之类的直接将冲突手动覆盖,由于刚开始使用Git,出现这种问题还是比较头疼的,还好找到一些常用的方法,那么就收藏在本片博文里啦:
如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,
在发布这个配置文件的时候,会发生代码冲突:
error: Your local changes to the following files would be overwritten by merge:
protected/config/main.php
Please, commit your changes or stash them before you can merge.
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash git pull git stash pop
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard git pull
其中git reset是针对版本,如果想针对文件回退本地修改,使用
git checkout HEAD file/to/restore
未经允许不得转载:李阳博客 » 解决Git代码冲突的方法