git pull 以服务端覆盖本地
下面操作会丢失你本地未提交的修改,确认本地不需要保留改动再执行!
方案 1(推荐:先拉取,强制用远程覆盖当前分支)
# 1. 先拉取远程最新代码(只拉不取合并) git fetch origin # 2. 强制让本地master和远程origin/master完全一致,丢弃本地提交和修改 git reset --hard origin/master
执行完本地文件就完全和远程 master 一模一样,本地所有未提交修改全部清空。
方案 2:如果你想一条命令替代 git pull(直接覆盖,不 merge)
不推荐日常使用,仅在需要强制覆盖场景
git fetch origin && git reset --hard origin/master
补充:如果你只是想临时保存本地改动(不想丢)
如果本地修改还想要,先暂存,之后再处理:
git stash # 把本地改动暂存起来 git pull # 正常拉取合并 # 后续需要时 git stash pop 恢复本地修改
不要用这个(坑)
git pull --force
git pull --force 不能覆盖本地文件,它只是推送时强制,拉取的时候加 --force 没用,解决不了你这个报错。
对应你当前场景完整命令序列
git fetch origin git reset --hard origin/master
执行后查看状态:
git status
此时本地工作区干净,文件和远程 origin/master 完全一致。
如果你分支不是 master,把 origin/master 换成对应分支名,例如 origin/main



