Git_Learning
  • Git/
    • 01.初识Git
    • 02.Git的特性
    • 03.使用Git的方式
    • 04.安装Git
    • 05.初始配置
    • 06.创建本地仓库
    • 07.更新文件并提交
    • 08.查看提交历史
    • 09.设置别名
    • 10.切换版本
    • 11.标签操作
    • 12.撤销修改-本地已保存状态
    • 13.撤销修改-已暂存状态下
    • 14.还原修改-已提交状态下
    • 15.从分支中删除提交
    • 16.修改提交内容
    • 17.移动文件
    • 18.忽略文件
    • 19.了解Git对象存储机制
    • 20.创建分支
    • 21.合并分支
    • 22.合并冲突
    • 23.撤销合并(未完善)
    • 24.变基和合并
    • 25.使用变基合并分支
    • 26.合并到主分支
    • 27.多存储库
    • 28.从原始仓库获取更改
    • 29.合并已经拉取的更改
    • 30.拉取并合并
    • 31.创建一个跟踪分支
    • 32.裸仓库
    • 33.推送变更
    • 34.拉取共享变更
    • 35.托管Git仓库
    • 36.常见问题
  • GItHub/
    • 如何向他人的项目提交内容
  • README
Powered by GitBook
On this page
  • 修改文件,并提交版本库
  • 还原提交
  1. Git/

14.还原修改-已提交状态下

本节将学习如何撤销提交,也就是我们执行了 git commit 操作后,Git 会将我们的提交保存至版本库。

修改文件,并提交版本库

在 test 文件中添加一行 123,并保存。使用 git commit -a -m "Added 123" 命令提交至版本库。

# 查看文件内容
$ cat .\test.txt
abc
123

# 提交到版本库
$ git commit -a -m "Added 123 to the test.txt"
[master ed5fe0d] Added 123 to the test.txt
 1 file changed, 2 insertions(+), 1 deletion(-)
 
# 查看提交日志
$  git hist
* 375f4fe 2023-05-05 | Added 123 to the test.txt (HEAD -> master) [aku]
* d7f681f 2023-05-05 | Added abc to the test.txt (tag: v1) [aku]
* 01b8702 2023-05-05 | Add first file (tag: v1-beta) [aku]

还原提交

git revert 是一个用于撤销 Git 仓库中先前提交的命令。它可以创建一个新的提交,该提交撤销以前提交所做的更改。

以下是一些 git revert 命令的示例:

  • git revert HEAD: 撤销最后一次提交,并创建一个新的提交来还原更改。

  • git revert <commit>: 撤销指定提交并创建一个新的提交来还原更改。<commit> 是要撤销的提交的 SHA 值。

  • git revert -n <commit>: 在不自动提交的情况下撤销指定提交。-n 或 --no-commit 选项告诉 Git 不要自动提交新的更改,而是等待用户手动提交更改。

请注意,在使用 git revert 命令时会创建一个新的提交,该提交将撤销以前提交所做的更改。因此,git revert 命令不会破坏 Git 仓库的历史记录,而是将其修改为包括还原更改的新提交。

# 撤销最后一次提交,并创建一个新的提交来还原更改。`--no-edit` 跳过编辑提交消息的步骤
$ git revert HEAD --no-edit
[master 6027826] Revert "Added 123 to the test.txt"

#查看日志
$ git hist
* 1ca1854 2023-05-05 | Revert "Added 123 to the test.txt" (HEAD -> master) [aku]
* 375f4fe 2023-05-05 | Added 123 to the test.txt [aku]
* d7f681f 2023-05-05 | Added abc to the test.txt (tag: v1) [aku]
* 01b8702 2023-05-05 | Add first file (tag: v1-beta) [aku]

# 查看文件
$ cat .\test.txt
abc

HEAD 是一个指针,它始终指向当前所在的本地分支的最新提交。此处也可以使用哈希值,比如 git revert ed5fe0d

Previous13.撤销修改-已暂存状态下Next15.从分支中删除提交

Last updated 2 years ago