- Git 入门
- Git - 首页
- Git - 版本控制
- Git - 基本概念
- Git - 命令行
- Git - 安装
- Git - 首次设置
- Git - 基本命令
- Git - 获取帮助
- Git - 工具
- Git - 速查表
- Git - 术语
- Git 分支
- Git - 简述分支
- Git - 创建新分支
- Git - 切换分支
- Git - 分支和合并
- Git - 合并冲突
- Git - 管理分支
- Git - 分支工作流程
- Git - 远程分支
- Git - 跟踪分支
- Git - 变基
- Git - 变基与合并
- Git - 压缩提交
- Git 操作
- Git - 克隆操作
- Git - 打标签操作
- Git - 别名操作
- Git - 提交操作
- Git - 暂存操作
- Git - 移动操作
- Git - 重命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - 修补操作
- Git - Diff 操作
- Git - 状态操作
- Git - 日志操作
- Git - HEAD 操作
- Git - origin master
- Git 撤销
- Git - 撤销更改
- Git - Checkout
- Git - Revert
- Git - Reset
- Git - 恢复操作
- Git - Rm
- Git - Switch 操作
- Git - Cherry-pick
- Git - Amend
- Git 在服务器上
- Git - 本地协议
- Git - 智能 HTTP 协议
- Git - 哑 HTTP 协议
- Git - SSH 协议
- Git - Git 协议
- Git - 在服务器上获取 Git
- Git - 设置服务器
- Git - 守护进程
- Git - GitWeb
- Git - GitLab
- Git - 第三方托管选项
- 分布式 Git
- Git - 分布式工作流程
- Git - 为项目做贡献
- Git - 维护项目
- 自定义 Git
- Git - 配置
- Git - 钩子
- Git - 属性
- Git - Init
- Git - Commit
Git - 撤销更改
Git 提供了多种撤销更改的方法,具体取决于这些更改是未暂存、已暂存、已提交还是已推送到远程存储库。
使用 --amend 撤销提交
如果您忘记包含某些更改或文件,可以使用 **--amend** 选项添加它们。此命令允许您将已暂存的更改添加到上一次提交中。
要使用 **--amend** 选项撤销提交,请运行以下命令
您进行了一些更改并提交了它们。
git commit -m "First Commit"
提交后,您注意到在提交之前忘记暂存某个文件中的某些更改。
-
您可以使用以下命令添加其他更改并暂存该文件
git add main.html
-
您可以将 **--amend** 选项与 **git commit** 命令一起使用,以将已暂存的更改包含在上一次提交中。此命令将已暂存的更改添加到最近的提交中。
git commit --amend
取消暂存已暂存的文件
如果您不小心使用 **git add *** 暂存了两个文件,但您想分别提交它们,则可以在保留另一个文件已暂存状态的同时取消暂存一个文件。
要取消暂存已暂存的文件,请使用以下命令
如果您不小心使用 **git add *** 命令暂存了两个文件。此命令将暂存当前目录中的所有更改。
git add *
您可以使用 **git status** 命令获取存储库的当前状态,包括已暂存和未暂存的更改。
git status
-
当您运行以下命令时,它将从暂存区中删除该文件,并撤消对其进行的任何更改。
git reset HEAD <file_name>
使用 **git status** 命令再次检查存储库的状态,以确保已完成所需的修改。
git add * git status
命令 **git reset** 通常是安全的,因为它不会修改工作目录中的文件。但是,当使用 **--hard** 时,它可能会完全删除更改。
取消修改已修改的文件
您可以使用以下命令取消修改已修改的文件
-
检查当前存储库的状态,并查看哪些文件有未提交的更改。
git status
-
将 **main.html** 文件恢复到其原始状态。
git checkout -- main.html
此命令将删除对 **main.html** 文件所做的任何修改,并将其恢复到上次提交的状态。
您可以通过再次运行 **git status** 命令来验证更改是否已恢复。
git status
使用 **git checkout -- <file>** 不安全,因为它会立即用文件的最新已暂存或已提交版本替换任何本地更改。在使用此命令之前,请确保您确实想要删除当前更改。
撤销更改 - git restore
Git 2.23.0 版引入了新的命令 **git restore**,可以用它代替 **git reset** 来撤销更改。
使用 git restore 取消暂存已暂存的文件
您可以使用以下命令使用 **git restore** 命令取消暂存已暂存的文件
如果您使用命令 **git add *** 暂存了两个文件。此命令将暂存当前目录中的所有更改。
git add *
您可以使用 **git status** 命令获取存储库的当前状态,包括已暂存和未暂存的更改。
git status
-
您可以使用 **git restore** 代替 **git reset** 从暂存区中删除文件并撤消对其进行的任何更改。
git restore --staged <file_name>
使用 **git status** 命令确认所需的更改是否已完成。
git add * git status
使用 git restore 取消修改已修改的文件
您可以使用以下命令使用 git restore 取消修改已修改的文件
-
检查当前存储库的状态,并查看哪些文件有未提交的更改。
git status
-
将 **main.html** 文件恢复到其原始状态。
git restore main.html
此命令将删除对 **main.html** 文件所做的任何修改,并将其恢复到上次提交的状态。
您可以通过运行 **git status** 命令确认对 **main.html** 的更改是否已撤消。
git status
使用 git restore <file> 不安全,因为它会立即用文件的最新已暂存或已提交版本替换任何本地更改。在使用此命令之前,请确保您确实想要删除当前更改。