Git:无需丢失本地变更,如何安全拉取远程最新变更?
本地分支与远程main冲突时的无手动全冲突解决方法
首先,一定要先备份本地分支,防止操作失误丢失你的变更:
git branch my-local-changes-backup
下面提供两种安全的自动合并方案,可按需选择:
方案1:自动保留本地变更(冲突处优先用你的修改)
如果希望所有冲突都以你的本地代码为准,执行以下命令:
git fetch origin git merge origin/main -X ours
这个操作会合并远程main的非冲突变更,冲突区域直接用你的本地版本自动解决,不会丢失任何本地修改。
方案2:自动采用远程变更(冲突处用远程最新版)
如果更倾向于用远程main的最新内容覆盖冲突,仅保留本地非冲突的修改,执行:
git fetch origin git merge origin/main -X theirs
执行后,冲突区域会自动用远程版本处理,你的其他本地变更依然会被保留。
重要提醒
- 这两个命令仅能自动解决文件内容行冲突,若遇到文件被一方删除、另一方修改这类“结构性冲突”,Git仍会要求你手动处理。
- 合并完成后,务必用
git diff核对结果,确认符合预期后再提交推送。
内容的提问来源于stack exchange,提问作者Jose
相关产品推荐
相关产品推荐

