git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:

git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:

版权声明:本文为博主原创文章,文笔虽然比较差,转载还请注明出处 https://blog.csdn.net/misakaqunianxiatian/article/details/51103734

场景:因为有事情需回到学校搞毕设,同事在公司说接口代码有问题,需要修改;

我用笔记本把代码同步到笔记本,然后做了一些修改、提交。修改完成。

第二天我来到公司(公司里用台式机,不是自己的笔记本),忘了先git pull到本地之后,直接在台式机上的代码进行编写,突然想起忘了pull了,然后想用git pull来更新本地代码。结果报错:

 

error: Your local changes to the following files would be overwritten by merge:

 

 

意思是我台式机上新修改的代码的文件,将会被git服务器上的代码覆盖;我当然不想刚刚写的代码被覆盖掉,看了git的手册,发现可以这样解决:

 

 

方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)

 

git stash    //暂存当前正在进行的工作。
git pull origin master   //拉取服务器的代码
git stash pop   //合并暂存的代码

 

如此一来,服务器上的代码更新到了本地,而且你本地修改的代码也没有被覆盖,之后使用add,commit,push 命令即可更新本地代码到服务器了。

 

方法2、如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull:

 

git reset --hard
git pull origin master

 

注:其中origin master表示git的主分支。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值