• git(代码冲突解决(客户端操作和命令行操作))


    客户端操作

    场景一、远程仓库更新了代码,本地未pull 便修改了代码
    1.本地未提交代码情况
    i.直接回退代码(revert),pull
    ii.直接pull,报错
    在这里插入图片描述
    点击三角下标重置(reset),远程代码覆盖本地代码

    场景二、远程仓库更新了代码,本地未pull 便修改了代码,且commit【两者代码较远】
    报错如下
    在这里插入图片描述
    点击pull-----远程仓库新增代码自动合并到本地,且本地新增代码保留,但是本地新增代码未push到远程仓库,需要再push才可更新到远程仓库

    场景三、远程仓库更新了代码,本地未pull 便修改了代码,且commit【两者代码较近】
    报错
    在这里插入图片描述
    点击pull报错,且本地与远程代码冲突

    <<<<<<< HEAD
            代码新增
    =======
            一个代码新增
    >>>>>>> 5a5d4f30cbc9939368aa471fd989d91e2b8865c1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    在这里插入图片描述
    解决办法1:关闭报错页面(resolve)
    自行处理,删除多余部分

            代码新增
            一个代码新增
    
    • 1
    • 2

    重新提交,push

    解决方法2:如果不是点resolve。而是点关闭和abort,文件报黄色感叹号,自行revert即可,然后push,报错了,再次pull,报错点击pull右侧三角下标,选reset,远程仓库代码覆盖本地代码

    在这里插入图片描述

    命令行处理

    场景一、远程仓库更新了代码,本地未pull 便修改了代码
    1.本地未提交代码情况
    i.git checkout 2.txt 撤销修改
    git pull origin dev dev 更新

    ii.直接pull,未报错,但是远程新增代码没有更到本地代码里

    场景二、远程仓库更新了代码,本地未pull 便修改了代码,且commit【两者代码较近】,push

    $ git push origin dev
    To 192.168.253.134:bigdata0810/bigdata0810.git
     ! [rejected]        dev -> dev (non-fast-forward)
    error: failed to push some refs to '192.168.253.134:bigdata0810/bigdata0810.git'
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    $ git pull origin dev dev  更新
    
    
    • 1
    • 2

    本地代码冲突(文件有黄色感叹号)

    <<<<<<< HEAD
            ffffff
    =======
            1111122333
    >>>>>>> 856c7373753058590e1736457c6669781402964c
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    试一下自行处理(删除报错部分)----提交,推送----成功了

     git add .
    git commit -m "自己处理"
     git push origin dev
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    场景三、远程仓库更新了代码,本地未pull 便修改了代码,且commit【两者代码较远】,push

     git push origin dev
    To 192.168.253.134:bigdata0810/bigdata0810.git
     ! [rejected]        dev -> dev (fetch first)
    error: failed to push some refs to '192.168.253.134:bigdata0810/bigdata0810.git'
    hint: Updates were rejected because the remote contains work that you do
    hint: not have locally. This is usually caused by another repository pushing
    hint: to the same ref. You may want to first integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    $ git pull origin dev dev  更新(远程代码更了下来,没有黄色感叹号,但是跳转到merge编辑页面,提交合并内容相关信息保存)
    
    
    • 1
    • 2

    此时本地新增代码没有推送到远程仓库,需要推送

    
     git push origin dev
    
    
    
    • 1
    • 2
    • 3
    • 4

    成功-------结束

    扩展
    解决办法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)
    $ git stash // 临时将工作区文件的修改保存至堆栈中
    $ git pull origin master // 拉取服务器的代码
    $ git stash pop // 将之前保存至堆栈中的文件取出来
    解决办法2:如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:
    $ git reset --hard // 回滚到上一个版本
    $ git pull origin master

  • 相关阅读:
    LeetCode_滑动窗口_中等_395.至少有 K 个重复字符的最长子串
    Linux中的YUM源仓库和NFS文件共享服务
    Pair<Long,String>接收mybatis查询的结果储存的却是BigInteger
    Unity --- 时间类与 Application(应用类)的使用
    【Linux】常见指令(二)
    Params and FLOPs
    Vue2.0基础
    全面了解三极管——三极管基本参数总结
    LeetCode 1113.报告的记录
    C# 画参数可调调幅波
  • 原文地址:https://blog.csdn.net/yygyj/article/details/126313959