Git 创建新分支后变基(挤压)
Git rebasing (squash) after creating new branch
假设我的提交历史如下:
a -- b -- c <-- Branch1
\
d -- e <-- Branch2
现在我结帐到 branch1 并将 b
和 c
压缩到 x。
我预料到会发生这样的事情。
a -- x <-- Branch1
\
d -- e <-- Branch2
但是在 运行 git 登录 Branch1 时,它显示:
a -- x
然后 运行 git 登录 Branch2,它显示:
a -- b -- c -- d -- e
现在,即使我结帐到 branch2 并压缩 b
、c
,它也不会生成 x
,而是生成一些其他提交哈希。
所以我的问题是,如何正确压缩这 2 个提交,以便它反映在所有分支中?
另外,一旦我已经这样做了,我该如何解决?
Now I checkout to branch1 and squash commits b and c into x.
之后你仍然在 Branch1
执行以下操作
git checkout Branch2
git rebase -
重要说明 在执行 git rebase -
之前确保您在需要变基的分支上。在本例中为 Branch1
。如果你改变了分支,为什么要先回到 Branch1
就像这样:
git checkout Branch1
git checkout Branch2
git rebase -
假设我的提交历史如下:
a -- b -- c <-- Branch1
\
d -- e <-- Branch2
现在我结帐到 branch1 并将 b
和 c
压缩到 x。
我预料到会发生这样的事情。
a -- x <-- Branch1
\
d -- e <-- Branch2
但是在 运行 git 登录 Branch1 时,它显示:
a -- x
然后 运行 git 登录 Branch2,它显示:
a -- b -- c -- d -- e
现在,即使我结帐到 branch2 并压缩 b
、c
,它也不会生成 x
,而是生成一些其他提交哈希。
所以我的问题是,如何正确压缩这 2 个提交,以便它反映在所有分支中?
另外,一旦我已经这样做了,我该如何解决?
Now I checkout to branch1 and squash commits b and c into x.
之后你仍然在 Branch1
执行以下操作
git checkout Branch2
git rebase -
重要说明 在执行 git rebase -
之前确保您在需要变基的分支上。在本例中为 Branch1
。如果你改变了分支,为什么要先回到 Branch1
就像这样:
git checkout Branch1
git checkout Branch2
git rebase -