git是否删除提交中的更改?

时间:2018-10-24 15:42:16

标签: git version-control gitlab rebase

我不得不在一个目录应该被更改的地方重新提交。

现在,当我看到gitlab中的最新更改时,分支中出现了数十个更改的目录。

我现在需要以某种方式将更改保留在我只想保留的目录中,并省略其他所有内容。换句话说,我需要创建一个新的提交,其中唯一的更改是对当前相关目录的更改,但是我不确定该怎么做。

1 个答案:

答案 0 :(得分:1)

如果要修改现有提交,则可以使用交互式变基:

git rebase -i <starting commit or branch>

此命令将打开一个带有提交列表的文本编辑器。对于每次提交,您都可以提供要执行的操作。该操作默认为“拾取”。您可能要在这里使用“编辑”。保存文件并关闭编辑器后,将开始重新设置基准。当git遇到您选择编辑的提交时,它将停止变基。此时,您可以执行所需的任何git命令。例如,您可以

git reset --mixed HEAD~

现在,根据需要编辑文件并进行提交。完成后

git rebase --continue

必要时冲洗并重复。

有关更多详细信息,请参见git help rebase。请注意,默认情况下,重新合并合并提交不会保留合并。取而代之的是,它将重新建立两个历史记录中的单个提交。