Title:解决 error: Your local changes to the following files would be overwritten by merge:XXXXCreate:2023-03-30 ◊ :876
:2023-03-30 19:23
: TabKey9 :0 :0
idea 上将本地代码推送到 git后 , 报错如下图
error: Your local changes to the following files would be overwritten by merge: src/main/resources/application-prod.properties Please, commit your changes or stash them before you can merge.
复制
我和同事在改同一个接口,没有注意到他什么时候提交的,应该是忘记了先 pull 。
解决方法 1:
保留本地最新修改,并拉取仓库中忘记 pull 的代码到本地 :
三个命令:
git stash git pull origin master git stash pop
复制
解决方法 2:
放弃本地代码,新修改的都不要了,退回上一版本,再拉取代码到本地。
git reset --hard git pull origin master
复制
PS : 如上图,我选择了方法1。后续操作一切正常。
后记(2018.6.13):又看到 另一种类似的操作
在使用Git的过程中,有些时候我们只想要 git 服务器中的最新版本的项目,对于本地的项目中修改不做任何理会,就需要用到 Git pull 的强制覆盖,具体命令如下:
git fetch --all git reset --hard origin/master git pull
复制
Git pull的强制覆盖本地文件在自动化部署项目中很有作用,比如用 SaltStack 部署 web 项目,强制覆盖可以保持与服务器内容一致。
参考:https://blog.csdn.net/misakaqunianxiatian/article/details/51103734
https://blog.csdn.net/tmtongming/article/details/73178997