git使用常见错误

一、本地仓库git操作,切换分支会出现如下错误:
lWX606524@LWX6065241 MINGW64 /d/codeRepository/Server_copy (master)
$ git checkout lwx606524
error: Your local changes to the following files would be overwritten by checkout:
src/main/java/com/chimedes/mappercustom/ExtraFieldMapper.java
src/main/java/com/chimedes/vision/service/AutoFieldConfigService.java
src/main/java/com/chimedes/vision/service/ExtraFieldService.java
src/main/resources/mybatis/custom/ExtraFieldMapper.xml
Please commit your changes or stash them before you switch branches.
Aborting

lWX606524@LWX6065241 MINGW64 /d/codeRepository/Server_copy (master)
解决办法:

参考https://blog.csdn.net/qq_21004057/article/details/52928211。

二、远程服务器代码更新后,在本地修改和远程代码文件都更改了同一个文件,此时,pull远程代码会报错。
lWX606524@LWX6065241 MINGW64 /d/temp/server (master)
$ git pull
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 81 (delta 37), reused 41 (delta 16)
Unpacking objects: 100% (81/81), done.
From http://XXX/server
d5dd023…ee8da1d master -> origin/master
d5dd023…1fffe38 hys -> origin/hys
d5dd023…d5a0df5 lixiangchun -> origin/lixiangchun
d5dd023…46f6e9d lwx606524 -> origin/lwx606524
error: Your local changes to the following files would be overwritten by merge:
src/main/java/com/chimedes/vision/controller/RecordInfoController.java
Please commit your changes or stash them before you merge.
Aborting
Updating d5dd023…ee8da1d
解决方案1:
执行git checkout -f,然后再执行git pull,
重新checkout,再执行git pull时就可以了:
参考https://blog.51cto.com/ritto/741342

解决方案2:
1.commit your changes
可以先使用add,commit命令

git add fileName
git commit -m “备注”
再pull一下远程仓库(假设分支为master分支)

git pull origin master
此时若本地与服务器端修改位置相同,可能会冲突,需要手动修改冲突;也有可能git自动merge了。修改过后再次pull,add,commit,push就可以啦

参考原文:https://blog.csdn.net/cherry_xiu/article/details/80096101
解决方案3:
如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)

git stash
git pull origin master
git stash pop

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

参考原文:https://blog.csdn.net/misakaqunianxiatian/article/details/51103734

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

git reset --hard
git pull origin master

其实方法都差不多,但是达到的效果不一样,看你需求来使用方法了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值