【问题标题】:What is the difference between "Revert Commit" and "Undo Commit" in IntelliJ IDEA?IntelliJ IDEA 中的“Revert Commit”和“Undo Commit”有什么区别?
【发布时间】:2020-04-03 15:22:53
【问题描述】:

在 IntelliJ Ultimate IDEA 2019.3(不确定何时引入)中,我们在版本控制 -> 日志选项卡中有“Revert Commit”和“Undo Commit”选项。

这两个选项有什么区别?

【问题讨论】:

  • 当您undo commit 时,它将删除最后一次提交,并且不会在更改列表中创建新提交。对于revert commit,它会创建一个revert的单独提交。
  • @Maddy:添加指向 IntelliJ IDEA 文档的链接并将您的评论作为答案发布。
  • @Peter 我已经发布了带有文档参考的答案

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


【解决方案1】:

撤消上一次提交

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

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

  1. 打开版本控制窗口 Alt+9 并切换到日志选项卡。

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

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

  4. 如果您想使用您将要放弃活动更改列表的更改创建更改列表,请选择“设置活动”选项。

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

恢复推送的提交

如果您在已推送的特定提交中发现错误,您可以恢复该提交。此操作会产生一个新的提交,它会反转您要撤消的提交的效果。因此,项目历史记录得以保留,因为原始提交保持不变。

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

  2. 如果选定的提交包含多个文件,而您只需还原其中的一部分,请取消选择您不想接触的文件。

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

更多信息请参考here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-11
    • 2018-03-27
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 2018-07-28
    • 2021-11-01
    • 2015-07-14
    相关资源
    最近更新 更多