首页 > 其他 > 详细

Git:代码冲突常见解决方法

时间:2020-06-04 15:53:00      阅读:58      评论:0      收藏:0      [点我收藏+]

情景一:

如果系统中有一些配置文件在生产服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,

在代码合并的时候,会发生如下代码冲突:

error: Your local changes to the following files would be overwritten by merge:
    public/conf/application.ini
Please commit your changes or stash them before you merge.

解决方案:(保留本地的修改同时又把远程的合并过来)

1:如果希望保留生产服务器上所做的改动,同时并入新配置项, 处理方法如下:(记住这3步曲)

1 git stash //将目前还不想提交的但是已经修改的内容进行保存至堆栈中
2 git pull
3 git stash pop

 git stash  的时候会把你本地快照,然后 git pull 就不会阻止你了,pull 完之后这时你的代码并没有保留生产环境的修改。

如果仅仅使用 到第二步,则会把本地修改的配置替换到生产环境中

技术分享图片

 

使用   git stash pop  ,如有冲突,则会出现如下效果,需要到代码中去解决冲突。

技术分享图片

 会发现发生冲突的本地修改还在,这时候你该commit push啥的就悉听尊便了,

技术分享图片

 

2:不想保存本地修改,直接覆盖

直接将本地的状态恢复到上一个commit id 。然后用远程的代码直接覆盖本地就好了

git reset --hard 
git pull origin master

 

---------------------------------------------------------------------------------------------------

error: Pulling is not possible because you have unmerged files.

技术分享图片

 

在git pull的过程中,如果有冲突,那么除了冲突的文件之外,其它的文件都会做为staged区的文件保存起来。

解决方案:

1 git reset --hard FETCH_HEAD
2 git pull就会成功。

 

Git:代码冲突常见解决方法

原文:https://www.cnblogs.com/xs-yqz/p/13042098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!