You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git合并冲突时将文件完整恢复至预合并状态的方法

解决大规模代码格式化后的分支合并冲突问题

针对大规模自动格式化后,协作分支合并main时出现的大量冲突问题,你可以通过以下流程彻底保留分支的逻辑变更,同时重新生成合规的格式化代码,避免原方案导致的代码破坏:

操作步骤

# 切换到有冲突的协作分支
git checkout conflicted-branch

# 暂存本地未提交的变更(如果有的话),确保工作区干净
git stash

# 拉取prelint分支,让当前分支回到格式化前的基线
git pull origin prelint

# 合并main分支(此时会因格式化差异触发大量冲突)
git merge origin main

# 恢复所有冲突文件到当前分支的版本(完全保留逻辑变更)
git checkout --ours .

# 重新执行代码格式化,让代码符合规范
npm run lint

# 确认变更内容(仅包含逻辑变更+新的格式调整)
git status

# 提交最终的合并结果
git add .
git commit -m "Merge main branch and reapply code formatting"

关键步骤说明

  • git pull origin prelint:将协作分支的代码基线对齐到格式化前的状态,和main分支的格式化变更共享同一起点,从根源减少不必要的冲突。
  • git checkout --ours .:直接把所有冲突文件恢复为协作分支的版本,彻底丢弃合并时的冲突标记和混乱代码,完整保留开发者的逻辑修改。
  • 重新执行npm run lint:在干净的逻辑代码基础上生成合规的格式,确保最终代码既保留业务逻辑,又符合规范要求。

可选优化

如果不想恢复所有文件,只想针对冲突文件操作,可以用以下命令批量处理:

# 列出所有冲突文件并批量恢复为当前分支版本
git diff --name-only --diff-filter=U | xargs git checkout --ours

内容的提问来源于stack exchange,提问作者MaxPRafferty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:32:06