1

假设我有如下提交历史:

a -- b -- c                  <-- Branch1
           \
            d -- e           <-- Branch2

现在我结帐到 branch1 和 squash 提交bc进入 x。

我预计会发生这样的事情。

a -- x                  <-- Branch1
      \
       d -- e           <-- Branch2

但是在 Branch1 上运行 git log 时,它显示:

a -- x

在 Branch2 上运行 git log 时,它显示:

a -- b -- c -- d -- e

现在,即使我结帐到 branch2 和 squash bc它也不会生成,x而是生成其他一些提交哈希。

所以我的问题是,我如何正确压缩这两个提交,使其反映在所有分支中?

另外,一旦我已经这样做了,我该如何修复?

4

1 回答 1

4

现在我结帐到 branch1 并将提交 b 和 c 压缩到 x 中。

之后,您仍在Branch1执行以下操作

git checkout Branch2
git rebase -

重要的注意事项确保在做之前git rebase -你在你需要变基的分支上。在这种情况下,它是Branch1. 如果您更改了分支,为什么要先回到Branch1这样的状态:

git checkout Branch1
git checkout Branch2
git rebase -
于 2018-02-14T08:36:42.090 回答