Best Practices
安全 force push 协议
需要重写历史时,用明确告警、冻结窗口和 `--force-with-lease` 协议降低误覆盖协作者提交的风险。
- 希望把 Git 用得更稳的个人或团队
- 准备建立协作规范的维护者
- 至少有一次真实协作经验
- 知道常见命令但还没形成稳定习惯
- 把建议当硬规则而忽略上下文
- 只记流程,不理解背后的协作边界
force push 不是绝对禁止,而是必须进入团队协议管理。
协议最小要素
- 仅允许在明确范围分支执行
- 执行前发出冻结提醒
- 默认使用
--force-with-lease - 执行后发布恢复指引
确认没有人基于当前分支创建备份使用 --force-with-lease
不覆盖他人工作可恢复团队可同步
--force-with-lease 是 force-push 的安全版本,它会检查远程是否与预期一致。
推荐执行顺序
git fetch origin
git log --oneline --graph --decorate -20
git push --force-with-lease origin <branch>
为什么必须用 lease
--force-with-lease 会检测远端是否出现你未知的新提交,能避免覆盖同事刚推送的改动。
对多人协作主线做强推,恢复和沟通成本通常远高于一次历史整洁收益。
常见误区
- 把
--force当成“快速修正键” - 没有提前告知受影响协作者
- 强推后不给恢复命令和对齐窗口
接下来建议继续看什么
shared history boundariesassess force-push impactreview and safe push