Git 基本操作(二)

目录

撤销修改操作

情况一

情况二

情况三

删除文件

升级git


撤销修改操作

在日常编码过程中,有些时候,我们可能写着写着发现目前的版本的代码越写越挫,越不符合标准,想让我们当前的文件去恢复到上一次提交的版本,撤销当前对文件的修改,其实就是恢复当前工作区的文件到上一个版本,有没有什么方法呢?

方法是有的,但是撤销修改要分为三种情况去讨论。

情况一

当前的修改仅仅是修改了工作区 的文件,但是没有进行git add 操作和 git commit 操作,也就是没有将文件添加到暂存区版本库 中,此时想要撤销当前工作区文件的修改。

此时有两种方法进行撤销修改。

  1. 使用 git diff 指令,查看当前修改的文件与上一次提交的文件的差异,根据差异对原有的文件进行相关差异代码的删除。这种方法作者不推荐,因为不能保证删除的过程中一定不会出错。
  2. 使用 git checkout -- [filename] 指令进行文件的撤销修改,将文件恢复到最近一次 add 或者 commit 的版本。推荐使用这种方法。

来吧展示。

我们给ReadMe 文件添加了一行**"hello China!!!"** 数据,现在我们要撤销当前的修改操作(这里要注意,添加数据,删除数据,修改数据其实就是是对文件修改的具体体现)。

使用 git checkout -- ReadMe 指令之后,确实完成了对工作区文件修改的撤销。

情况二

工作区 中的文件进行了修改,并且已经进行了 git add 操作,将修改的文件添加到了暂存区 中,此时想要撤销当前工作区暂存区文件的修改。

此时可以使用以下两种方法进行修改。

  1. 使用 **git reset --mixed HEAD [filename]**指令,可以将 版本库 和 暂存区 中的文件恢复到当前提交版本,将暂存区的文件恢复到到当前提交版本之后,此时的情况就变成了情况一,所以根据情况一使用 git checkout 指令进行恢复。
  2. 使用git reset --hard HEAD指令,可以将 工作区 和 版本库 和 暂存区 中的文件恢复到当前提交版本。

方法一展示。

我们先对ReadMe 文件做了相同的修改,添加了对应的数据,然后将工作区中的文件进行了git add 操作,然后再使用git reset HEAD 指令将暂存区和版本库的文件恢复到了当前提交版本,此时查看本地仓库的状态,发现是工作区中的问价未 git add的状态,此时就变成了情况一。

此时再使用情况一的方法,就能实现工作区中的文件的当前修改的撤销。

此时已经成功完成了对工作区暂存区文件的当前修改的撤销。

方法二展示。

直接使用 git reset --hard HEAD 指令,将当前的工作区暂存区版本库中的文件恢复到当前的提交版本。

此时也完成了对工作区暂存区文件修改的撤销。

情况三

工作区 的文件修改之后,进行了git add 操作,进行了 git commit 操作,已经将修改的文件添加到了暂存区版本库 中,此时想撤销对工作区暂存区版本库文件的修改。

方法如下。

直接使用git reset --hard HEAD^ 指令,进行所有文件的撤销,其实也就是上期的所有文件的回退操作。HEAD 表示当前提交版本,HEAD^ 表示上一次提交的版本,其它同理。

展示如下。

先对ReadMe 文件进行修改操作,然后进行 git addgit commit 操作。

然后使用 git reset --hard HEAD^ 指令将工作区暂存区版本库中的所有文件恢复到上一版本。

此时就完成了工作区暂存区版本库文件的撤销修改操作。

删除文件

有时候我们发现我们创建的文件和提交的文件不符合要求,要将工作区暂存区版本库 中对应的文件要删除,此时我们应该如何进行删除呢?

有两种方法。

  1. 先使用 rm 指令删除掉对应工作区的文件之后,然后使用git addgit commit 指令,这样最终就删除了三个模块中对应的文件。
  2. 先使用git rm [filename] 指令 ,然后再使用 git commit指令,这样最终就删除了三个模块中对应的文件。

由于我们使用的是 git 1.83 版本,第一种方法必须使用 git 2.0 及其以上版本。

升级git

所以要对 git版本进行升级。

1.卸载掉旧版本。

bash 复制代码
sudo yum remove git -y

使用 git --version 指令查看git版本。

此时已经完成了旧版本的卸载。

2.安装 git 升级所依赖的仓库。

bash 复制代码
sudo rpm -ivh http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm

3.安装新版本 git 工具。

bash 复制代码
sudo yum -y install git -y

此时我们通过 git version 指令发现git 工具新版本已经安装完毕。

方法一展示。

创建file1 文件,完成提交之后,将该文件在工作区暂存区版本库中都进行删除。

最终完成了 file1 文件在各个模块的删除操作。

方法二展示。

创建file1 文件,完成提交之后,将该文件在工作区暂存区版本库中都进行删除。

最终完成了对file1 文件在各个模块的删除。

其实第二种方法其实就是对第一种方法的整合,第二种方法将第一种方法中的 rmgit add 操作进行了整合,所以当第二种方法git rm 之后,可以直接进行git commit 操作。

以上便是本期的所有内容。

本期内容到此结束^_^

相关推荐
掘根8 小时前
【云备份】配置文件加载模块
开发语言·网络·c++·git
A_Tai233333311 小时前
Git操作指令
java·git
试着15 小时前
【AI面试准备】Git与CI/CD及单元测试实战指南
git·ci/cd·面试
大鱼天15 小时前
intellij idea最新版git开启Local Changes
java·git·intellij-idea
喜欢踢足球的老罗1 天前
生成项目.gitignore文件的多种高效方式
git·gitignore
SundayBear1 天前
极简GIT使用
git
只做开心事2 天前
Git 基本操作(一)
git
一路向北he2 天前
关于杰理ac791切换版本, git clone下来仍然是最新版本问题
git·单片机
只做开心事2 天前
Git 工具的安装
git