开 PR 前先确认基线的远端状态
实际情形
一次「合并收尾」中,提交后检查远端才发现:origin/main 停在 7 月 12 日,而本地 main 已领先 76 个提交。此时直接开 ZOO-17 的 PR,会把那 76 个历史提交全部带进去 —— PR 的 diff 已经不等于这次任务的范围。
处理顺序
- 先量差距:本地主线比远端领先多少提交
- 判断这些提交是否已在别处开过 PR / 合并过
- 再选合并方式:先同步主线,或让 PR 基于远端主线,而不是直接推分支
与「无共同祖先」的区别
| 情形 | 特征 | 处理 |
|---|---|---|
| 本文 | 有共同祖先,本地只是没推 | 同步主线后再开 PR |
| 远端主线可能与本地主线无共同祖先 | merge-base 找不到共同祖先,是两套独立历史 | 备份旧远端 + 改默认分支策略 |
两者共同点:「远端 main 很旧」不是普通分叉,先诊断再动手。