Git(二)

来源:互联网 发布:家庭相册制作软件 编辑:程序博客网 时间:2024/06/17 04:29

Git(二)


1.查看git的工作状态,代码如下

-git status

这里写图片描述
表示在master分支下,没有提交,工作树(工作区域)干净。

我们在项目下面创建一个license文件,先别加入缓存,查看一下git状态。

这里写图片描述

这里写图片描述

表示 在master分支下,未跟踪状态,但是一旦把它加入缓存状态,它就会立刻受到git的跟踪了。
提示 使用 git add file 把文件加入缓存区域。
温馨提示:LICENSE涉及到mit协议,这个mit协议是所有开源许可协议里面最宽松的一个协议,用了我的代码,你只需要包含我这个协议文件即可。

不妨把它添加到缓存区域,然后再查看一下状态。

这里写图片描述
表示在master分支下,提示使用 git reset HEAD file 恢复到暂存区域。这句话的意思就是给你一次反悔的机会,在你最近提交到git的文件恢复到暂存区域,换句话说就是改变暂存区域的状态。

不妨试一下,恢复到暂存区域,再次查看状态。

这里写图片描述

表示状态又恢复到之前状态。

再次添加到缓存,并提交,查看状态。

这里写图片描述

表示当前在master分支下,没有东西提交。工作区域干净。

三个树可以理解为三个文件夹,工作文件夹,暂存文件夹,仓库文件夹。

2.修改文件,我在LICENSE文件里面修改了一下内容,刚开始什么也没写。

这里写图片描述
查看一下状态。

然后添加到暂存区域,查看一下状态。

这里写图片描述

提示给我两个命令:
1)使用 git add 文件名 添加到暂存区
2)使用 git checkout –文件名,改变工作区域的状态,就是恢复到我们操作之前的状态。这个操作对项目比较的危险。(慎用)

不妨操作一下。

这里写图片描述

查看一下LICENSE文件。会发现LICENSE文件变为之前的什么都没写的状态。

这里写图片描述

查看状态,又回到之前的状态。

这里写图片描述

还有一种情况没有分析,如果我们把文件加入到暂存区,然后又对文件进行了修改,这个时候是什么情况呢?
不妨试一下:

这里写图片描述

这个时候出现两种状态,怎么办?不要慌
先看看那两种提示:
1)绿色区域,说明文件还放在暂存区域,等待去提交。
2)红色区域,说明文件还放在工作区域,等待被添加到暂存区域。
你应该意识到这里同时存在两个不同版本的LICENSE文件,三棵树,可以理解为三个文件夹,所以,三个文件夹,可以存放不同版本的文件,所以这时候暂存文件夹和工作文件夹是存放不同的文件。暂存文件夹是存放的是修改之前的文件,工作文件夹存的是修改之后的文件,如果你这个时候去提交,提交的是修改之前的LICENSE文件,如果你想提交修改之后的LICENSE文件,你需要把它先添加到暂存区域,覆盖掉之前的暂存区域,再去提交。
如下提交修改之后的操作:

这里写图片描述

3.查看历史提交记录,代码

-git log 

具体操作

这里写图片描述
每个历史记录结构,从上到下代表:
1)历史记录唯一id
2)作者日期
3)提交说明
历史记录主要是按最近提交的时间排序的,草黄色代码块是乱码么?并不是,这是git每一次提交计算出来的id,这是一个完整的sha1-md5的校验核,虽然每一次提交的文件是一样的,但是校验核却是不一样的,这是为什么呢?
因为账号不同,时间不同也会导致差异,它是唯一的。
为什么id不是传统的1,2,3,4呢,因为git是一个分布式的版本控制工具,所以呢,同一时间,会有很多名程序员同时在干活,全世界的程序员都在使用如果使用1,2,3,4这种id,就很容易产生混乱和冲突。

MD5码用处很多,可以用来加密解密,微信订单号,支付宝支付订单号,等都会用到这个MD5码,因为它能根据时间点不同,使用人不同,从而计算出不同的序列号。