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

Git LFS迁移仅作用于master分支失效及全分支迁移后推送疑问

问题解答

一、如何只改写master分支的历史,避免影响其他分支

你遇到的问题是因为git lfs migrate import默认会处理指定分支能追溯到的所有提交,包括其他分支与master共享的祖先提交,所以其他分支的历史也会被改写。要解决这个问题,只需添加--no-rewrite-other-refs参数,它会阻止工具修改指定分支之外的其他引用,只处理master分支的历史:

git lfs migrate import --include="*.pt,*.params" --include-ref=refs/heads/master --no-rewrite-other-refs

注意:命令里的文件名匹配规则不要加空格(把*.pt, *.params改成*.pt,*.params),避免匹配出错。

二、对所有分支执行历史改写后是否需要强制推送

是的,必须强制推送。因为历史改写会改变提交的哈希值,远程仓库的旧提交和本地改写后的提交完全不匹配,普通推送会被拒绝。

推荐使用更安全的--force-with-lease参数(它会检查远程分支是否有你未同步的新提交,避免误覆盖他人的修改):

git push --force-with-lease --all
git push --force-with-lease --tags

如果确定远程没有其他人的新修改,也可以用--force,但前者更稳妥。另外一定要通知所有协作的开发者,让他们放弃本地旧分支,重新拉取远程的改写后的分支,否则会出现冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:55:55