git 操作:放弃本地修改,强制同步远程代码 ,解决代码冲突
- 发现冲突
你在 git pull 时遇到提示:
error: Your local changes to the following files would be overwritten by merge…
这说明本地有未提交的修改,而远程分支也有更新,直接合并会产生冲突。
-
查看当前状态
我先用 git status 检查当前分支和文件状态,确认哪些文件有冲突、哪些是本地未提交的修改。 -
放弃本地修改的常用方法
方法一:如果只是本地文件有修改,还没进入合并状态
可以直接用:
git reset --hard
git pull
这样会丢弃本地所有未提交的修改,拉取远程最新代码。
方法二:如果已经进入合并冲突状态(如你刚才的情况)
中止合并过程
用 git merge --abort 回到合并前的状态,撤销合并操作。
强制同步远程分支
用下面的命令彻底丢弃本地所有修改,强制以远程分支为准:
你的分支名
例如你的分支是 release/tce3.10.11,命令就是:
git reset --hard origin/release/tce3.10.11
这样本地代码会被重置为远程分支的最新内容,所有本地未提交的修改和冲突都会被清除。
- 再次确认
用 git status 检查,确保本地分支和远程一致,没有未提交的内容,也没有冲突。
核心思路:
先撤销合并(如果已进入冲突状态)
再用 reset --hard 强制本地和远程保持一致
这样可以快速“放弃本地所有修改”,直接用远程最新代码