Git冲突:Please commit your changes or stash them before you merge

使用git pull来更新代码时,有时会遇到以下的问题:

error: Your local changes to the following files would be overwritten by merge:....php
Please, commit your changes or stash them before you can merge.Aborting

这个问题原因是其他人修改了某个文件并提交到版本库中去了,而你本地也修改了同一个,这时候你进行拉取就会出现冲突了,解决方法,原则是不要去更改别人已经提交的代码,如果确实要更改(不建议也不需要),请先跟当事人沟通

方法一:放弃本地修改

(此方法本地修改的代码会被丢弃,不可找回)

git reset --hard
git pull

git reset --hard:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交

方法二:同样是放弃本地修改

使用TortoiseGit(小乌龟),打开冲突文件所在目录,如下:

方法三:使用git stash

git stash
git pull
git stash pop

git stash:保存当前工作进度,能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。也可以用git stash save,作用等同于git stash,区别是可以加一些注释
git pull:这个应该不用说了吧!(把服务器仓库的更新拉到本地仓库中)
git stash pop:可以把你刚才stash到本地栈中的代码pop到本地(也可以用git stash apply,区别:使用apply恢复,stash列表中的信息是会继续保留的,而使用pop恢复,会将stash列表中的信息进行删除。)


git stash list:存储到本地栈顶以后,你可以使用git stash list 查看你本地存储的stash日志
git stash clear: 清空Git栈,原来stash的节点都会被清除

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值