如何在 O(n) 而不是 O(n^2) 中做一个困难的变基?
How to do a difficult rebase in O(n) rather than O(n^2)?
有一个困难的 rebase,每次提交都会遇到冲突。为了能够解决一些令人困惑的冲突,有时我必须 --abort
并检查 master 分支以查看到底有什么(冲突标记、到目前为止重新设置的东西或 git 的东西没有混淆) “我们的”与“他们的”地狱)。每当我这样做时,我必须随后重新解决到那时为止的所有冲突。这使得变基有效 O(n^2).
有没有更好的方法?
(注意:它绝对必须是一个rebase,这个要求是给定的。合并是不可能的。
首先,新的 (Git 2.30) 新合并策略:ORT(“表面上递归的孪生”)会稍微快一些。
但是整个过程仍然是 not O(n)
.
其次,请务必使用 git worktree
command 以便在单独的文件夹中签出 master
(无需创建单独的克隆)。
这样,您不必中止正在进行的合并,并且可以在 master
分支上与工作树的副本进行比较。
有一个困难的 rebase,每次提交都会遇到冲突。为了能够解决一些令人困惑的冲突,有时我必须 --abort
并检查 master 分支以查看到底有什么(冲突标记、到目前为止重新设置的东西或 git 的东西没有混淆) “我们的”与“他们的”地狱)。每当我这样做时,我必须随后重新解决到那时为止的所有冲突。这使得变基有效 O(n^2).
有没有更好的方法?
(注意:它绝对必须是一个rebase,这个要求是给定的。合并是不可能的。
首先,新的 (Git 2.30) 新合并策略:ORT(“表面上递归的孪生”)会稍微快一些。
但是整个过程仍然是 not O(n)
.
其次,请务必使用 git worktree
command 以便在单独的文件夹中签出 master
(无需创建单独的克隆)。
这样,您不必中止正在进行的合并,并且可以在 master
分支上与工作树的副本进行比较。