假设我有以下提交历史记录:
a -- b -- c <-- Branch1
\
d -- e <-- Branch2
现在我结帐到branch1并将提交b
和c
提交到x。
我期待这样的事情发生。
a -- x <-- Branch1
\
d -- e <-- Branch2
但是在Branch1上运行git log时,它会显示:
a -- x
并且在Branch2上运行git log时,它显示:
a -- b -- c -- d -- e
现在,即使我结帐到branch2并压缩b
,c
,它也不会生成x
,而是生成其他一些提交哈希值。
所以我的问题是,如何正确压缩这两个提交,以便它反映在所有分支中?
如果我已经这样做了,我该如何解决?
答案 0 :(得分:4)
现在我结帐到branch1并将提交b和c提交到x。
之后,您仍然在Branch1
执行以下操作
git checkout Branch2
git rebase -
重要提示确保在执行git rebase -
之前,您需要进行rebase转换。在这种情况下,它是Branch1
。如果你改变了分支,为什么首先回到Branch1
,所以这样:
git checkout Branch1
git checkout Branch2
git rebase -