第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件

一、版本回退

命令:cat 文件名:能够查看文档里面内容

            git log:显示从最近到最远提交的日志

            git reset --hard HEAD^ :回退到上个版本,如果想回退到上上个版本就HEAN^^,当然如果回退前一百个版本,我们不能敲一百个^,可以用简便命令操作:git reset --hard HEAD~100即可

  • 之前我们分三次向文件里添加内容“111111”、“222222”、“3333333”,每次都提交,备注分别为“+1”、“+2”、“+3”,如下所示用git log 命令来查看一下历史记录,该命令显示是从最近到最远的日志,黄色字体画出来的是每次提交的版本号

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第1张图片

  •  如果上面信息太多可以用命令:git log -pretty=oneline,只显示历史记录版本号而不显示其他内容

  •  现在想回退到上一个版本,用命令 git reset --hard HEAD^

        再用 cat readme.txt   通过查看文本内容就可以看到是否回退了

        如下从内容我们可以看到已经回退到了上一个版本,并且再看历史记录也没有了到三次的

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第2张图片

  •  那么如果这个时候我们又想回到增加333333的那个最新版本,就需要用

        git reset --hard 版本号来回退,

        但是如果不记得版本号就要用   git reflog  来获取版本号

        如下;第三次修改的版本号是  422c4bf 

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第3张图片

 用 git reset --hard 422c4bf  来恢复

在查看文档内容发现已经恢复

 第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第4张图片

二、工作区和暂存区

工作区:就是在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外),或者以后需要再新建的目录文件等都属于工作区范畴

版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,是版本库,其中版本库里面存了很多东西,其中最重要的就是暂存区(stage),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

前面我们说过,Git提交文件到版本库有两步。

1.使用git add把文件添加进去,实际就是把文件添加到暂存区。

2.使用git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

接下来重新演示一下这个步骤,先想readdme里面添加一行444444,并新增文件test

然后执行以下步骤:

git status:可以看到修改的文件和新增的文件,如下

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第5张图片

 git add:将两个文件都添加进暂存区,再用git status 查看状态

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第6张图片

 git commit -m "备注"  一次性将这两个文件提交到分支上去,再用git status 查看

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第7张图片

三、管理修改

 git跟踪管理的是修改而并非文件,接下来用两次操作体现。

第一次:向test新增内容111111,然后执行两步提交到版本库中

第二次:向test新增内容222222,不执行git add命令,直接git commit到版本库中。

一、

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第8张图片

二、由下图可见第二次的修改没有提交,因为第二次没有放到暂存区就直接提交了

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第9张图片

 综上可见,git管理的是修改,当用git add命之后,在工作 区第一次的修改被放到暂存区,准备提交,但是在工作区的第二次修改并没有放到暂存区,所以 git commit 只负责把暂区的修改提交了,也就是第二次的修改不会被提交。

提交后,用 git diff HEAD -- test.txt 命令可以查看工作区和版本库里最新版本的区别:

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第10张图片

四、撤销修改

先向readme.txt文件里新增一行555555,用 cat readme.txt查看文档内容

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第11张图片

在未提交之前(未放到暂存区)发现提交的555555有误想要撤销,一共有三个方法

1.知道要删掉哪些内容,直接手动更改去掉哪些需要的文件,然后add到暂存区,最后commit掉

2.按照上面回退的方法,直接回退恢复到上一个版本,使用 git reset --hard HEAD^

除了上面的方法,还有第三种就是用撤销命令

3.git checkout --文件:丢掉工作区的修改,

   在这里先git status 看一下状态,再用git checkout -- readme.txt丢掉工作区修改后我们再查看一下内容

git checkout -- readme.txt的意思就是把该文件在工作区的修改全部撤销,这里有两种情况

1.没有放到暂存区:使用撤销修改就和回到和版本库一模一样的状态

2.在放到暂存区后又接着作了修改,撤销修改就回到添加暂存区后的状态

对于第二种情况我们接着展示,先添加555555放到暂存区不提交,再添加666666后使用该命令回退

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第12张图片

五、删除文件

这里就以删除test.txt为例,该文件之前已经提交到分支上。

一般情况下;可以在目录下直接删除,或者使用rm命令:rm test.txt。如果想彻底在版本库里面删掉它,可以再执行git commit命令。如下(也可以用 dir 命令来看当前目录下的文件)

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第13张图片

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第14张图片

 那么只要没有commit之前,想要在版本库里面恢复此文件,可以使用命令:

git checkout -- test.txt,再来看目录

第二篇:git操作:版本回退、工作区和暂存区、管理修改、撤销修改、删除文件_第15张图片

你可能感兴趣的:(git入门,git,基本操作,入门,git)