我已经提交并推送了一些更改,忘了在该提交中添加2个文件。从那次提交开始,我提交了许多提交,因此我想要更改/添加文件的提交和HEAD之间有很多提交。我需要像IntelliJ IDEA这样的交互式变基和修正。所以我的问题是,如何在IntelliJ IDEA中将这两个文件添加到该提交中?
答案 0 :(得分:1)
首先,您应该注意到更改已发布分支的历史记录可能很危险。如果其他人使用相同的分支,这可能会导致重复提交的历史混乱。
但是,如果您使用CLI执行此操作,如果您更喜欢GUI方式,也可以使用IntelliJ执行此操作。
如果您需要将这两个文件添加到上次提交,则可以修改对该提交的更改。为此,开始提交就像创建新提交一样。在提交窗口中,选中“修改提交”旁边的框。然后,IntelliJ将使用上次提交的消息自动填充“提交消息”字段。提交更改后,将只有一个提交包含先前提交的更改和您最近的更改。
您甚至可以使用IntelliJ GUI进行交互式变基,以更改历史记录。可以在子菜单“Git”的“VCS”菜单中找到“Rebase ...”选项。在打开对话框中,您可以选择“交互”以进行交互式变基。您还需要选择一个分支或提交到rebase。这可能是您的分支所依据的分支或您不想更改的历史记录中的最后一次提交。打开对话框为您提供与CLI的交互式rebase相同的选项。有关可用选项,请参阅Interactive rebase的文档示例。要将更改添加到先前的提交,您可能需要查看“将多个提交压缩为一个”部分。
要推送这些更改,首先需要配置IntelliJ以允许强制推送。此选项可在“版本控制”>下的首选项中找到。 “Git”,你可以检查“允许推力”。这样,将鼠标悬停在“推送”对话框右下角的“推送”按钮上,打开一个带有“强制推送”条目的下拉列表。您需要使用它将更改的提交推送到远程存储库。