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

Git回滚含新增LFS二进制文件的提交时冲突,求脚本化方案

解决Git Revert含LFS文件提交时的冲突问题

问题原因

你执行的git revert命令本质是生成一个与目标提交反向的新提交——原提交新增了LFS文件,所以revert需要删除该文件。但当前分支的HEAD版本里这个文件存在修改记录,Git触发了modify/delete冲突。你指定的--strategy-option=theirs未生效,是因为在revert场景下,这个参数对这类冲突的自动处理逻辑有限,不会直接帮你删除文件。

脚本化解决方案

既然不能手动操作,用以下步骤自动化处理:

  1. 执行revert但不自动提交:
git revert cd68ab2f306c8db28d6887ece8e1e754e6b3b0d1 --strategy=ort --strategy-option=theirs --no-commit
  1. 自动清理冲突的LFS文件:
    通过Git命令找出所有冲突文件并删除:
git diff --name-only --diff-filter=U | xargs git rm
  1. 完成revert提交:
git commit --no-edit

替代简洁方案

如果你的Git版本支持,也可以用更简洁的参数写法,配合自动清理:

git revert cd68ab2f306c8db28d6887ece8e1e754e6b3b0d1 -X theirs --no-commit
git diff --name-only --diff-filter=U | xargs git rm
git commit --no-edit

全程无需手动干预,完全适配脚本调用场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:12:21