代码之家  ›  专栏  ›  技术社区  ›  dspeyer

Github批准在rebase-i中生存?

  •  0
  • dspeyer  · 技术社区  · 4 年前

    我想支持以下场景:

    • 拉动请求标记为已批准
    • 作者强制使用不同的git历史推送完全相同的代码(rebase或rebase-i挤压)
    • 作者合并代码

    通常,强制推送将清除任何批准,因为它可能是完全不同的代码。我不想在这种情况下保留批准。但是有没有办法让github进行检查?

    0 回复  |  直到 4 年前
        1
  •  1
  •   bk2204    4 年前

    无法做到这一点,因为一般来说,很难确定两组提交是否引入了相同的更改。

    您尝试这样做的逻辑方式是使用diff输出,但由于rebase可以引入上下文更改、代码移动或重命名文件,因此这实际上是不可能的。只看添加和删除的行而不看上下文是无效的,因为将相同的代码添加到不同的函数中会是一个实质性的不同更改。无论一组重定基址的更改是否“相同”,都需要比Git拥有或能够提供的更多关于代码的知识。

    推荐文章