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