Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.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_Rebase - Fatal编程技术网

Git 将分支的一部分重设为提交

Git 将分支的一部分重设为提交,git,rebase,Git,Rebase,我的master如下所示: A --- B --- C (master) A --- B --- C --- K (master) \ \-- G' --- H' --- I' (2) 我从B分支,并对分支1进行了一些更改: A --- B --- C (master) \ \-- D --- E --- F (1) 然后我从F分支,并对分支2进行了一些更改: A --- B ---

我的
master
如下所示:

A --- B --- C (master)
A --- B --- C --- K (master)
                   \
                    \-- G' --- H' --- I' (2)
我从
B
分支,并对分支
1
进行了一些更改:

A --- B --- C (master)
       \
        \-- D --- E --- F (1)
然后我从
F
分支,并对分支
2
进行了一些更改:

A --- B --- C (master)
       \
        \-- D --- E --- F (1)
                         \
                          \-- G --- H --- I (2)
然后我通过合并挤压
D
E
F
1
上的更改应用到
master
,其中
K
是合并挤压
D
E
F
的结果:

A --- B --- C --- K (master)
       \       /  |  \
        \-- D --- E --- F (1)
                         \
                          \-- G --- H --- I (2)
然后,我想将
G
H
I
重设为
K
,使其看起来像这样:

A --- B --- C (master)
A --- B --- C --- K (master)
                   \
                    \-- G' --- H' --- I' (2)
有没有办法做到这一点?

当然,像往常一样

git rebase --onto master f branch2

git是否足够聪明,可以在重定基址时忽略
D
E
F
?呃,捕捉得好-如果你给它调整过的命令,它会的。:-)