FreeBSD Ports仓库因误提交150MB二进制文件而冻结并重写Git历史。文章详述了用git filter-branch或fast-export移除违规提交的方法,开发者应对上游force-push的策略,以及reflog恢复技巧。作者认为签名提交非必要,但发布tag应签名,并建议用hook预防此类问题。
在开发中,误提交大文件是常见问题。即使添加了.gitignore,已追踪的文件仍需处理。可通过交互式变基(git rebase -i)删除大文件,步骤包括找到错误提交、修改为edit、移除大文件、修正提交并继续变基。推送时需使用强推,建议在提交前检查文件列表以避免误提交。
完成下面两步后,将自动完成登录并继续当前操作。