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


    情景一:

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

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

    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就会成功。
  • 相关阅读:
    关于快速幂算法有效性的证明
    二进制在算法编写中的常用概念
    C++ P3379 【模板】最近公共祖先(LCA)
    关于二分图染色的几点总结
    快速打出System.out.println("");
    try{}catch(){}//根据异常信息使用不同的方法要怎么实现
    Iterator<Entry<String,String>> iter=map.entrySet().iterator(); 是什么意思
    java_Collection 类集
    instanceof的用法②
    instanceof的用法①
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/13042098.html
Copyright © 2020-2023  润新知