Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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 rebase组合提交_Git - Fatal编程技术网

如何使用git rebase组合提交

如何使用git rebase组合提交,git,Git,如何使用“git rebase”在git中将第一次提交与第四次提交结合起来。 从我在这里读到的内容来看,“git-rebase”中的“squash”命令只是融合到以前的commit中 在git,我有 $ git log commit 9a30d13 commit 4a6729e commit 4a6729e commit 4a6729e commit a610898 基本上,我希望将9a30d13中的更改与a610898中的更改结合起来,这样新的历史就可以 $ git log commit 4

如何使用“git rebase”在git中将第一次提交与第四次提交结合起来。 从我在这里读到的内容来看,“git-rebase”中的“squash”命令只是融合到以前的commit中

在git,我有

$ git log
commit 9a30d13
commit 4a6729e
commit 4a6729e
commit 4a6729e
commit a610898
基本上,我希望将9a30d13中的更改与a610898中的更改结合起来,这样新的历史就可以

$ git log
commit 4a6729e
commit 4a6729e
commit 4a6729e
commit a610898 + 9a30d13
我没有推任何东西


谢谢。

当您按照链接中的描述执行交互式重新基址时,您也可以对提交进行重新排序。更改顺序后,可以将
9a30d13
压缩为
a610898

当出现交互式重基时,它将如下所示(最早的提交位于顶部):

然后对它们重新排序:

pick a610898 Message A
pick 9a30d13 Message E
pick 4a6729e Message B
pick 4a6729e Message C
pick 4a6729e Message D
并将
9a30d13
更改为
squash
,而不是
pick

pick a610898 Message A
squash 9a30d13 Message E
pick 4a6729e Message B
pick 4a6729e Message C
pick 4a6729e Message D

保存并退出,就完成了。您将有机会为新的
a610898
+
9a30d13
提交输入一条新的提交消息。

@0x90,这意味着什么?我的意思是,如果您可以发布shell中的所有命令和输出,但看起来您已经完成了。你的意思是在每行之前使用git吗?不是-你看到的是当你运行
git rebase时得到的编辑器-交互式**somesha**
pick a610898 Message A
squash 9a30d13 Message E
pick 4a6729e Message B
pick 4a6729e Message C
pick 4a6729e Message D