Title:解决 error: Your local changes to the following files would be overwritten by merge:XXXXCreate:2023-03-30 ◊ :517

: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