4. Git 撤销修改和删除文件操作。
1. 撤销修改:
比如我现在在 readme.txt 文件里面增加一行 内容为 555555555555
,我们先通过命令查看如下:
在我未提交之前,我发现添加 5555555555555
内容有误,所以我得马上恢复以前的版本,现在我可以有如下几种方法可以做修改:
- 第一:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后 add 添加到暂存区,最后 commit 掉。
- 第二:我可以按以前的方法直接恢复到上一个版本。使用 git reset --hard HEAD^
但是现在我不想使用上面的 2 种方法,我想直接想使用撤销命令该如何操作呢?首先在做撤销之前,我们可以先用 git status
查看下当前的状态。如下所示:
可以发现,Git 会告诉你, git checkout -- file
可以丢弃工作区的修改,如下命令:git checkout -- readme.txt
,如下所示:
命令 git checkout --readme.txt 意思就是,把 readme.txt 文件在工作区做的修改全部撤销,这里有 2 种情况,如下:
- readme.txt 自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
- 另外一种是 readme.txt 已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。
对于第二种情况,我想我们继续做 demo 来看下,假如现在我对 readme.txt 添加一行 内容为 6666666666666
,我 git add
增加到暂存区后,接着添加内容 7777777
,我想通过撤销命令让其回到暂存区后的状态。如下所示:
注意:命令 git checkout -- readme.txt
中的 --
很重要,如果没有 --
的话,那么命令变成创建分支了。
2. 删除文件
假如我现在版本库 testgit 目录添加一个文件 b.txt,然后提交。如下:
如上:一般情况下,可以直接在文件目录中把文件删了,或者使用如上 rm 命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行 commit 命令 提交掉,现在目录是这样的,
只要没有 commit 之前,如果我想在版本库中恢复此文件如何操作呢?
可以使用如下命令 git checkout -- b.txt
,如下所示:
再来看看我们 testgit 目录,添加了 3 个文件了。如下所示:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论