GIT撤销修改 restore

简介: GIT撤销修改 restore

撤销修改

GIT 撤销修改,主要利用 git restore 命令。现在,我们来假象一个使用场景。当我们大半夜战至性头时,一上头不小心在文件中写了句不该写的话"老板是个大煞笔"!并且已经 git add 到暂存区(staged) 中了!如果再继续commit 的话,第二天就面临失业的风险!



image.png


$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   READEME.md


从上面可以看到,有一个待提交文件,并且还有一个重要的提示:use “git restore --staged …” to unstage ,翻译过来就是,使用 git restore --staged … 可以使文件变成已修改(未执行 add 时 )状态。

好的,是时候展现真正的技术了,命令敲起来ヾ(゚∀゚ゞ):


$ git restore --staged READEME.md
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   READEME.md


当我们执行 store --staged 命令后,再用 status 查看状态,会发现,文件已经变成 add 执行前的状态了。是的,这样咱们就彻底保住了工作。现在划重点,我们看下执行 git restore --staged READEME.md 到底发生了什么。


git restore --staged [file] : 表示从暂存区将文件的状态修改成 unstage 状态。


当然,也可以不指定确切的文件 ,例如: git restore --staged *.java 表示将所有暂存区的java文件恢复状态


git restore --staged . 表示将当前目录所有暂存区文件恢复状态


–staged 数就是表示仅仅恢复暂存区的


可以看到,我我们又有错别字了,但是已经 commit 了,那么应该怎么办呢?


$ git restore -s HEAD~1 READEME.md  // 该命名表示将版本回退到当前快照的前一个版本
$ git restore -s 91410eb9  READEME.md  // 改命令指定明确的 commit id ,回退到指定的快照中
$ git reset --soft HEAD^  // 该命令表示撤销 commit 至上一次 commit 的版本


总结

本篇文章的所有重点都集中在一个命令上 restore ,该命令主要有三个参数,我重点介绍一下,restore 命令,默认是带着 --worktree 参数的



image.png


目录
相关文章
|
开发工具 git
Git撤销使用方法
介绍 撤销是指恢复先前的状态或操作,以便回退或取消更改,Git提供了多种方式来进行撤销,撤销对文件的修改、撤销暂存的修改、撤销提交、撤销合并等; 详细教程 1、撤销对已经暂存区的文件的修改 这个命令会将指定文件从暂存区中移除,但保留对工作目录中文件的修改。这相当于撤销了对文件的暂存操作。 git reset HEAD <文件名> 2、撤销当前分支的提交 它是用于将当前分支的 HEAD 指针移动到前一个提交,并丢弃指定数量(<num>)的最近提交,包括这些提交所引入的更改。 当你意识到最近的一次合并操作引入了错误或不必要的更改时,你希望撤销这些更改并回到合并之前的状态。当你想要回滚最近的几个提交
121 0
|
开发工具 git
git --- git撤销commit(未push)
git --- git撤销commit(未push)
174 0
|
6月前
|
开发工具 git
GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(二)
GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(二)
|
6月前
|
算法 安全 Linux
GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(一)
GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(一)
|
6月前
|
开发工具 git
git撤销推送到远端仓库的提交commit信息
git撤销推送到远端仓库的提交commit信息
|
开发工具 git 索引
如何撤销 Git 添加命令?
如何撤销 Git 添加命令?
113 1
如何撤销 Git 添加命令?
|
开发工具 git
git:一些撤销操作
git:一些撤销操作
90 0
|
开发工具 git
Git不提交文件的ChangeList使用和撤销本地commit的代码
Git不提交文件的ChangeList使用和撤销本地commit的代码
134 0
|
人工智能 开发工具 git
Git撤销之世上真有后悔药
Git撤销之世上真有后悔药
|
Shell 开发工具 git
【Git】 从暂存区撤销指定文件的添加
提交前,git add 后,如何从暂存区撤销已添加的单个或多个文件
74 0