IntelliJ IDEA中的“还原提交”和“撤消提交”有什么区别?

时间:2019-12-10 12:28:26

标签: git intellij-idea jetbrains-ide undo git-revert

在IntelliJ Ultimate IDEA 2019.3中(不确定何时引入),我们在版本控制->日志选项卡中具有“还原提交”和“撤消提交”选项。

enter image description here

这两个选项之间有什么区别?

1 个答案:

答案 0 :(得分:2)

  

撤消上一次提交

IntelliJ IDEA允许您撤消当前分支中的最后一次提交(例如HEAD)。

注意:如果将提交推送到受保护的分支(即不允许对其施加强制--push的分支),则无法撤消提交(在“设置/首选项”对话框中配置受保护的分支Ctrl + Alt + S在版本控制| Git中)。

  1. 打开版本控制窗口Alt + 9,然后切换到“日志”选项卡。

  2. 选择当前分支中的最后一个提交,然后从上下文菜单中选择“撤消提交”。

  3. 在打开的对话框中,选择一个更改列表,将要丢弃的更改将在其中移动。您可以从“名称”列表中选择一个现有的变更列表,也可以指定新变更列表的名称(默认情况下使用提交消息)。

  4. 如果要使用即将放弃活动更改列表的更改来制作更改列表,请选择“设置活动选项”。

  5. 如果希望IntelliJ IDEA记住您的上下文并在此更改列表变为活动状态时在编辑器中重新加载当前打开的文件,请选择“跟踪上下文”选项。

  

还原推送的提交

如果您注意到已推送的特定提交中有错误,则可以还原该提交。此操作将导致一个新的提交,该提交将撤销您要撤消的提交的效果。因此,由于原始提交保持不变,因此项目历史得以保留。

  1. 在“版本控制”窗口Alt + 9的“日志”选项卡中找到要还原的提交,右键单击它,然后从上下文菜单中选择“还原提交”。从“文件历史记录”视图中的提交的上下文菜单中也可以使用此选项。 “提交更改”对话框将打开,并显示一条自动生成的提交消息。

  2. 如果所选提交包含多个文件,而您只需要还原其中一些文件,则取消选择您不想触摸的文件。

  3. 单击“提交”以提交一个更改集,该更改集将在此特定提交中还原对选定文件的更改。

有关更多信息,请参阅here