如何无需选择合并选项从其他分支获取更改并覆盖本地内容?
直接覆盖本地所有修改的简便方法
如果想跳过合并选择,完全用目标分支的内容覆盖当前本地分支的所有修改,有两种实用命令,按需选择:
1. 完全同步目标分支(清除本地所有未提交更改)
这个命令会把当前分支的HEAD指针、工作区、暂存区完全重置为目标分支的状态,本地所有未提交的修改、新增的未跟踪文件都会被清除:
# 目标是远程分支时(比如origin/main) git reset --hard origin/main # 目标是本地已存在的分支时(比如main) git reset --hard main
2. 仅覆盖现有文件(保留本地新增文件)
如果不想删除自己新增的未跟踪文件,只需要覆盖已存在文件的修改,可以用:
# 将目标分支的所有文件覆盖到当前工作区 git checkout 目标分支名 -- . # 之后提交这些更改到当前分支 git add . git commit -m "同步目标分支内容"
⚠️ 注意:这两个命令都会丢弃本地未提交的修改,执行前务必确认不需要保留这些内容。
内容的提问来源于stack exchange,提问作者Atikah Ali
相关产品推荐
相关产品推荐

