使用git pull文件时和本地文件冲突怎么办?

场景

       git pull代码时,经常会碰到有冲突的情况,提示如下信息:

error: Your local changes to 'c/environ.c' would be overwritten by merge.  Aborting.
Please, commit your changes or stash them before you can merge.

原因

       更新下来的内容和本地修改的内容有冲突,先提交你改变的内容或者先将本地修改暂时存储起来。

解决

      主要是使用git stash命令进行处理,分成以下几个步骤进行处理。

     1. 先将本地修改存储起来

git stash

      2.查看保存的信息   stash@{0}就是我刚刚暂存的信息,要注意看自己的

git stash list

 git stash暂存修改

     3.还原暂存的内容

git stash pop stash@{0}

     系统提示如下类似的信息:

  Auto-merging c/environ.c
  CONFLICT (content): Merge conflict in c/environ.c

     意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。

  4.解决文件中冲突的的部分

     打开冲突的文件,会看到类似如下的内容:

 

    git冲突内容

    git冲突内容
     其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。   碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

 

end

撤销操作(未执行git add命令)

           git checkout -- filepathname

撤销操作(执行了git add命令)

          git status 先看一下add 中的文件 
          git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 
          git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值