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

旧GitHub仓库如何仅对新提交启用Require linear history规则?

解决GitHub规则集启用“Require linear history”时的旧合并提交问题
  • 放弃使用新的GitHub规则集(Rulesets)的线性历史要求,转而使用旧版分支保护规则:

    1. 进入仓库的「Settings」→「Branches」→「Branch protection rules」
    2. 找到或创建针对主分支的保护规则
    3. 勾选「Require linear history」选项并保存
      这个选项不会检查主分支已有的历史,只会阻止后续新推送的提交引入非线性历史(比如禁止普通合并提交,只允许rebase/squash合并)
  • 如果必须使用GitHub规则集,可采用以下变通方案:

    1. 创建一个新分支,基于主分支的最新提交(确保该分支的历史从当前节点开始是线性的)
    2. 将新分支设置为仓库的默认分支
    3. 对新分支启用规则集的「Require linear history」规则
    4. 通知团队后续开发都基于新分支进行,逐步完成分支迁移
      这种方式无需修改原有主分支的历史,只是切换了开发的目标分支
  • 补充:如果一定要在原有主分支上用规则集且不修改历史,唯一的办法是通过git rebase --interactive将旧合并提交转换为线性提交,但这会重写历史,不符合你的需求,所以不推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 01:40:00