Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建新分支后Git重定基(挤压)_Git_Git Rebase_Git Squash - Fatal编程技术网

创建新分支后Git重定基(挤压)

创建新分支后Git重定基(挤压),git,git-rebase,git-squash,Git,Git Rebase,Git Squash,假设我有如下提交历史记录: a -- b -- c <-- Branch1 \ d -- e <-- Branch2 但在Branch1上运行git log时,它显示: a -- x a -- b -- c -- d -- e 在Branch2上运行git log时,它显示: a -- x a -- b -- c -- d -- e 现在,即使我签出到branch2并挤压b,

假设我有如下提交历史记录:

a -- b -- c                  <-- Branch1
           \
            d -- e           <-- Branch2
但在Branch1上运行git log时,它显示:

a -- x
a -- b -- c -- d -- e
在Branch2上运行git log时,它显示:

a -- x
a -- b -- c -- d -- e
现在,即使我签出到branch2并挤压b,c,它也不会生成x,而是生成一些其他提交散列

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

还有,一旦我已经这样做了,我该如何修复

现在我签出到branch1,并将b和c提交到x

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

git checkout Branch2
git rebase -
重要提示:在执行git重新设置基础之前,请确保您所在的分支需要重新设置基础。在这种情况下,它是Branch1。如果您更改了分支,为什么要先返回到Branch1,如下所示:

git checkout Branch1
git checkout Branch2
git rebase -
现在我签出到branch1,并将b和c提交到x

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

git checkout Branch2
git rebase -
重要提示:在执行git重新设置基础之前,请确保您所在的分支需要重新设置基础。在这种情况下,它是Branch1。如果您更改了分支,为什么要先返回到Branch1,如下所示:

git checkout Branch1
git checkout Branch2
git rebase -

我认为你必须在x分支1上重新设置分支2的基址,之后应该一切正常我认为你必须在x分支1上重新设置分支2的基址,之后应该一切正常