当前位置: 首页 > news >正文

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 add git 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.卸载掉旧版本。

sudo yum remove git -y

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

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

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

sudo rpm -ivh http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm

        3.安装新版本 git 工具。

sudo yum -y install git -y

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

        方法一展示。

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

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

        方法二展示。

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

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

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

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

        本期内容到此结束^_^ 

http://www.xdnf.cn/news/254377.html

相关文章:

  • Java怎么实现一个敏感词过滤?有哪些方法?怎么优化?
  • 纹理对象创建
  • Nacos使用
  • 组件通信-props
  • 类与对象(中)
  • OnlyOffice Document Server 源码调试指南-ARM和x86双模式安装支持
  • < 自用文 Texas style Smoker > 美式德克萨斯烟熏炉 从设计到实现 (第一部分:烹饪室与燃烧室)
  • 类与类之间的关系详解
  • 部署Superset BI(二)再战Superset
  • 【信息系统项目管理师-论文真题】2013上半年论文详解(包括解题思路和写作要点)
  • AI编译器对比:TVM vs MLIR vs Triton在大模型部署中的工程选择
  • PyQt 或 PySide6 进行 GUI 开发文档与教程
  • 【东枫电子】AMD / Xilinx Alveo™ UL3422 加速器
  • MTV-SCA:基于多试向量的正弦余弦算法
  • GNOME扩展:ArcMenu的Brisk布局左右调换
  • 在Kali Linux上安装GNOME桌面环境完整教程
  • 【Linux系统】线程
  • 一种快速计算OTA PSRR的方法(Ⅰ)
  • open files 打开文件数
  • SALOME源码分析: JobManager
  • [更新完毕]2025五一杯B题五一杯数学建模思路代码文章教学: 矿山数据处理问题
  • php artisan resetPass 执行密码重置失败的原因?php artisan resetPass是什么 如何使用?-优雅草卓伊凡
  • PDF转换工具xpdf-tools-4.05
  • 【AI面试准备】AI误判案例知识库优化方案
  • 依赖倒置原则
  • AI外挂RAG:大模型时代的检索增强生成技术
  • 笔试专题(十四)
  • 基于C++、JsonCpp、Muduo库实现的分布式RPC通信框架
  • c语言的常用关键字
  • (六——下)RestAPI 毛子(Http resilience/Refit/游标分页)