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

时间:2023-03-09 21:19:37
解决 error: Your local changes to the following files would be overwritten by merge:XXXX
版权声明:这可是本菇凉辛辛苦苦原创的,转载请记得带上我家地址,不要忘记了哈 ... https://blog.csdn.net/u011314442/article/details/78852547

idea 上将本地代码推送到 git后 , 报错如下图

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

  1. error: Your local changes to the following files would be overwritten by merge:
  2. src/main/resources/application-prod.properties
  3. Please, commit your changes or stash them before you can merge.

我和同事在改同一个接口,没有注意到他什么时候提交的,应该是忘记了先 pull 。

解决方法 1:

保留本地最新修改,并拉取仓库中忘记 pull 的代码到本地 :

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

三个命令:

  1. git stash
  2. git pull origin master
  3. git stash pop

解决方法 2:

放弃本地代码,新修改的都不要了,退回上一版本,再拉取代码到本地。

  1. git reset --hard
  2. git pull origin master

PS : 如上图,我选择了方法1。后续操作一切正常。

后记(2018.6.13):又看到 另一种类似的操作

在使用Git的过程中,有些时候我们只想要 git 服务器中的最新版本的项目,对于本地的项目中修改不做任何理会,就需要用到 Git pull 的强制覆盖,具体命令如下:

  1. git fetch --all
  2. git reset --hard origin/master
  3. git pull

Git pull的强制覆盖本地文件在自动化部署项目中很有作用,比如用 SaltStack 部署 web 项目,强制覆盖可以保持与服务器内容一致