在 Git 存储库中撤销更改
还原未提交的更改
在提交之前,您始终可以撤销您在本地所做的更改:
在 提交 工具窗口 Alt+0 中,选择要还原的一个或多个文件,然后在上下文菜单中选择 回滚 ,或按 Ctrl+Alt+Z。
在打开的对话框中,检查要还原的文件列表。
选中 删除已添加文件的本地副本 复选框,以还原新增文件以及已修改文件中的更改。
自上次提交以来对所选文件所做的所有更改都将被丢弃,并且它们会从活动更改列表中消失。
取消暂存文件
默认情况下,PyCharm 使用 更改列表 概念,已修改的文件会自动暂存。
如果某个文件已在版本控制之下,而您又不想提交它,您可以:
将其从提交中移除 :在 提交 工具窗口的 更改 区域中不要选择它。
如果您更习惯于暂存概念,请在 版本控制 | Git 设置页面  Ctrl+Alt+S 中选择 启用暂存区域 选项。
此外,默认情况下,PyCharm 会建议将每个新创建的文件纳入版本控制。 您可以在 中分别使用 创建文件时 和 删除文件时 设置来更改此行为。
撤销上一次提交
PyCharm 允许您撤销当前分支中的最后一次提交。
打开 Git 工具窗口 Alt+9 ,并切换到 日志 选项卡。
选择当前分支中的最后一次提交,然后在上下文菜单中选择 撤销提交。
在打开的对话框中,选择要将您准备丢弃的更改移动到的更改列表。 您可以从 名称 列表中选择现有更改列表,或指定新更改列表的名称(默认使用提交消息)。
输入可选的注释。 当新更改列表提交到存储库时,此注释将显示在 提交更改 对话框的 注释 文本区域中。
如果您希望将包含您即将丢弃的更改的更改列表设为活动更改列表,请选择 设为活动(A) 选项。
如果您希望 PyCharm 记住您的上下文,并在此更改列表变为活动状态时在编辑器中重新加载当前打开的文件,请选择 跟踪上下文 选项。
还原已推送的提交
如果您在某个已推送的特定提交中发现错误,您可以还原该提交。 此操作会生成一个新提交,用于反转您要撤销的那个提交的效果。 因此,项目历史记录得以保留,因为原始提交保持不变。
在 Git 工具窗口 Alt+9 的 日志 选项卡中找到要还原的提交,右键点击它,然后从上下文菜单中选择 还原提交。 在文件 历史记录 视图中,提交的上下文菜单也提供此选项。 将打开 提交更改 对话框,并自动生成提交消息。
如果所选提交包含多个文件,而您只需要还原其中的一些,请取消选择您不想更改的文件。
点击 提交 ,提交一个更改集,以还原此特定提交中对所选文件的更改。
还原所选更改
如果某个已推送的提交包含多个文件且您只需还原其中一部分,PyCharm 允许您从已推送的提交中撤销所选更改。
在 日志 视图中,选择包含您要丢弃的更改的提交。
在 已更改文件 窗格中,右键点击要还原的文件,然后从上下文菜单中选择 还原所选更改。
这将生成一个新提交,用于反转您要撤销的更改。
丢弃提交
与会反映在分支历史记录中的 还原提交 不同,您可以在当前分支中丢弃已推送的提交,而不会留下任何操作痕迹。
在 日志 视图中选择要丢弃的提交,然后从上下文菜单中选择 丢弃提交。
从提交中丢弃所选更改
如果您在多个文件中提交了更改,并且现在希望在推送提交之前回滚其中一部分更改,则可以只丢弃其中的一些更改,而不是 丢弃整个提交。 请注意,丢弃的更改将被删除。
在 Git 工具窗口 Alt+9 的 日志 选项卡中,选择本地分支,然后选择包含您要丢弃的更改的提交。
在右侧的 已更改的文件 窗格中,选择包含您要丢弃的更改的文件,右键点击它们,然后选择 丢弃所选更改。
将分支重置到特定提交
如果您在最近的一组提交中发现错误并希望重做该部分,您可以将存储库回滚到特定状态。 这是通过将当前分支的 HEAD 重置到指定提交来完成的(如果您不希望在历史记录中反映此次撤销,还可以选择重置索引和工作树)。
打开 版本控制 工具窗口 Alt+9 ,并切换到 日志 选项卡。
选择您希望将 HEAD 移动到的提交,然后在上下文菜单中选择 将当前分支重置到此处。
在打开的 Git 重置 对话框中,选择更新工作树和索引的方式,然后点击 重置:
软 :在所选提交之后的提交中所包含的所有更改都将被暂存(即它们将被移动到 提交 窗口,以便您可以进行审阅,并在需要时稍后提交)。
混合 :在所选提交之后所做的更改将被保留,但不会暂存以供提交。
硬 :在所选提交之后所做的所有更改都将被丢弃(包括暂存和已提交的更改)。
保留 :在所选提交之后所做的已提交更改将被丢弃,但本地更改将保持不变。
获取文件的先前修订
如果您需要还原单个文件,而不是丢弃包含多个文件更改的整个提交,您可以将该文件回滚到特定版本:
在任意视图中选择所需文件(项目 工具窗口 Alt+1 、编辑器、 提交 窗口等)。
从主菜单中选择 Git | 所选文件 | 显示历史记录 ,或从所选内容的上下文菜单中选择 Git | 显示历史记录。 将向 Git 工具窗口添加 历史记录 选项卡,显示所选文件的历史记录,并允许您查看和比较其修订。
当您确定要回滚到的修订后,在列表中选择它,然后从上下文菜单中选择 获取。