撤消更改

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018

Visual Studio 2022 |Visual Studio 2019 |Visual Studio 2017 |Visual Studio 2015

如果要撤消 Git 存储库中的更改,请先决定要撤消的更改类型。 例如,您可能希望:

  • 通过将文件还原到其上次提交的版本,放弃对文件的未提交更改。 还可以将文件还原到任何提交的版本。
  • 通过将分支重置为以前的提交,将分支还原到以前的状态。
  • 通过创建反转更改的新提交来撤消共享提交所做的更改。 由于此方法不会重写现有的提交历史记录,因此它适用于扭转推送的提交以及其他人正在使用的提交所做的更改。
  • 修改上次提交以修改其内容或消息。 有关详细信息,请参阅 如何更新上次提交
  • 通过创建包含修补程序的新 提交 来修复之前提交中引入的问题。 有关详细信息,请参阅 如何创建提交

本文介绍如何执行以下操作:

  • 放弃对文件的未提交更改
  • 将分支还原到以前的状态
  • 撤消共享提交所做的更改

放弃对文件的未提交更改

如果已更改文件但尚未提交这些更改,则可以使用 Git 签出 快速放弃更改并将文件还原为其上次提交的版本。

指定提交 ID 时,Git checkout 还可以将文件还原到任何提交的版本。

警告

如果可能希望重新应用 Git checkout 将放弃的更改,请考虑改 这些更改。

Visual Studio 支持通过将文件还原到其上次提交的版本来放弃对文件的未提交更改。

Visual Studio Git

“Git 更改 ”窗口中,使用要放弃的更改标识文件。 如果文件位于 “暂存更改 ”部分中,请右键单击该文件,然后选择 “取消设置”。 未标记的文件显示在 “更改 ”部分中。

Visual Studio 2019 中暂存文件的上下文菜单选项的屏幕截图。

如果文件位于“ 更改 ”部分中,请右键单击该文件,然后选择 “撤消更改 ”以放弃自上次提交以来对文件的所有更改。

Visual Studio 2019 中已更改文件的上下文菜单选项的屏幕截图。

Visual Studio 团队资源管理器

团队资源管理器“更改”视图中,使用要放弃的更改标识文件。 如果文件位于 “暂存更改 ”部分中,请右键单击该文件,然后选择 “取消设置”。 “ 更改 ”部分显示未标记的文件

Visual Studio 2019 中团队资源管理器中暂存文件的上下文菜单选项的屏幕截图。

如果文件位于“ 更改 ”部分中,请右键单击该文件,然后选择 “撤消更改 ”以放弃自上次提交以来对文件的所有更改。

Visual Studio 2019 中团队资源管理器中已更改文件的上下文菜单选项的屏幕截图。

将分支还原到以前的状态

可以使用 Git 重置 将分支还原到以前的状态,将分支重置为以前的提交。 Git reset 会影响所有分支文件夹中的所有文件。

Git reset 有几个选项。 默认选项是将分支还原到以前的提交,但保留所有后续更改作为未提交的更改。 另一种方法是放弃对自该提交以来所有分支文件的所有更改,将分支还原到以前的提交。

警告

如果上次提交已推送并与他人共享,请不要在上次提交之前将分支重置为提交。 这样做将导致本地分支历史记录不再与远程分支历史记录匹配。 对于共享分支,请参阅 撤消共享提交所做的更改

Visual Studio Git

  1. 在菜单栏中,选择 “Git > 视图分支历史记录 ”以打开当前分支的 “历史记录 ”选项卡。

Visual Studio 2019 中 Git 菜单中“查看分支历史记录”选项的屏幕截图。

Visual Studio 团队资源管理器

  1. 团队资源管理器“更改”视图中,选择“操作>视图历史记录”以打开当前分支的“历史记录”选项卡。

Visual Studio 2019 中团队资源管理器的“更改”视图中“操作历史记录”选项的屏幕截图。

  1. 在当前分支的 “历史记录 ”选项卡中,右键单击要重置的提交,然后选择“ 重置 > 删除更改” (--硬) 将分支重置为所选提交,并删除自该提交以来所有分支文件的所有更改。 或者,选择 “重置 > 保留更改” (混合) 将分支重置为所选提交,并将所有后续更改保留为未标记的更改。

    Visual Studio 2019 中“历史记录”窗口中提交的上下文菜单中“重置”选项的屏幕截图。

撤消共享提交所做的更改

可以使用 Git 还原 撤消提交所做的更改,以创建新的提交,以撤消这些更改。 Git revert 不会删除原始提交。 此方法适用于撤消共享提交所做的更改,因为 Git revert 不会更改以前的提交历史记录,因此本地和远程分支历史记录会继续匹配。

Visual Studio Git

  1. 从菜单栏中,选择 “Git > 视图分支历史记录 ”以打开当前分支的 “历史记录 ”选项卡。

Visual Studio 2019 的 Git 菜单中“视图分支历史记录”选项的屏幕截图。

Visual Studio 团队资源管理器

  1. 团队资源管理器“更改”视图中,选择“操作>视图历史记录”以打开当前分支的“历史记录”选项卡。

Visual Studio 2019 中团队资源管理器的“更改”视图中的“操作历史记录”选项的屏幕截图。

  1. 在当前分支的 “历史记录 ”选项卡中,右键单击要还原的提交,然后选择 “还原 ”以创建新提交,以撤消所选提交所做的更改。

    Visual Studio 2019 中“历史记录”窗口中提交的上下文菜单中“还原”选项的屏幕截图。

后续步骤