当前位置: 首页 > 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 操作。

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

        本期内容到此结束^_^ 

相关文章:

  • AimRT从入门到精通 - 01实现一个helloworld
  • FHQ Treap
  • AI作画提示词:Prompts工程技巧与最佳实践
  • MYSQL-设计表
  • 消息队列的作用
  • [Verilog]跨时钟域数据传输解决方案
  • 2025五一数学建模竞赛A题完整分析论文(共45页)(含模型、可运行代码、数据)
  • spring中的@PostConstruct注解详解
  • 支持向量机(SVM)详解
  • 报文三次握手对么٩(๑^o^๑)۶
  • 网络原理 - 13(HTTP/HTTPS - 4 - HTTPS)
  • 从数据到故事:用可视化工具讲好商业“话本“
  • 鼎讯信通 智能通信干扰设备:多频段多模态信号压制解决方案
  • PS插件生态深度解析与精品合集推荐
  • 姜老师MBTI人格分析课程2:ENFP
  • ppt设计美化公司_杰青_长江学者_优青_青年长江学者_万人计划青年拔尖人才答辩ppt模板
  • 深入解析C++11 auto关键字:类型推导的现代实践
  • 【JS压缩图片】js压缩图片至指定大小
  • Flutter - 概览
  • 深入解析C++11委托构造函数:消除冗余初始化的利器
  • 成为中国骑手孵化器,上海环球马术冠军赛是最好的历练舞台
  • 客流持续高位运行,长三角铁路计划增开153列旅客列车
  • 竞彩湃|德甲保级白热化,都灵主帅直面旧主
  • 云南石屏举办茶文化交流活动:弘扬企业家精神,激发市场活力
  • 五一当天1372对新人在沪喜结连理,涉外婚姻登记全市铺开
  • 2025财政观察①长三角罚没收入增速放缓,24城仍在上涨