返回介绍

4. Git 撤销修改和删除文件操作。

发布于 2025-03-08 13:21:16 字数 2110 浏览 0 评论 0 收藏 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文