Git历史及标签

查看历史

我们可以通过git log来查看之前的提交信息:

$ git log
commit 47ad04b3b4421b47133c3fd88fa43108c1b2c707
Author: oDevilo <15757166470@163.com>
Date:   Fri Feb 3 15:18:01 2017 +0800

    master

commit c2e62bc5d64ed1d8750e7ed7d75449d12c2e646c
Merge: 35d67ed 6f8f981
Author: oDevilo <15757166470@163.com>
Date:   Fri Feb 3 09:59:37 2017 +0800

    ok

不过,不但参数,我们只能看到每个 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交信息。

git log 命令的参数很多,之里就只说明部分。

选项说明
-p按补丁格式显示每个更新之间的差异
-(n)仅显示最近的 n 条提交
–oneline将信息用一行显示(只显示版本和说明)
–stat显示每次更新的文件修改统计信息
–shortstat只显示 –stat 中最后的行数修改添加移除统计
–graph显示 ASCII 图形表示的分支合并历史
–pretty使用其他格式显示历史提交信息
–since, –after仅显示指定时间之后的提交
–until, –before仅显示指定时间之前的提交
–author仅显示指定作者相关的提交
–committer仅显示指定提交者相关的提交
–grep仅显示含指定关键字的提交
-S仅显示添加或移除了某个关键字的提交
–name-only仅在提交信息后显示已修改的文件清单
–name-status显示新增、修改、删除的文件清单
–abbrev-commit仅显示 SHA-1 的前几个字符
–relative-date使用较短的相对时间显示
$ git log --pretty=format:"%h - %an, %ar : %s"

47ad04b - oDevilo, 24 hours ago : master
c2e62bc - oDevilo, 30 hours ago : ok
6f8f981 - oDevilo, 10 days ago : test
5acd669 - oDevilo, 10 days ago : init
9b95894 - oDevilo, 10 days ago : twoforget
aaaec21 - oDevilo, 3 weeks ago : add
35d67ed - oDevilo, 3 weeks ago : test lo

–pretty=format 可以将信息按照我们的格式来显示,下面列出格式占位符写法及其代表的意义:

选项说明
%H提交对象(commit)的完整哈希字串
%h提交对象的简短哈希字串
%T树对象(tree)的完整哈希字串
%t树对象的简短哈希字串
%P父对象(parent)的完整哈希字串
%p父对象的简短哈希字串
%an作者(author)的名字,指修改者
%ae作者的电子邮件地址
%ad作者修订日期(可以用 –date= 选项定制格式)
%ar作者修订日期,按多久以前的方式显示
%cn提交者(committer)的名字
%ce提交者的电子邮件地址
%cd提交日期
%cr提交日期,按多久以前的方式显示
%s提交说明

打标签

同其他版本控制系统,Git 可以给历史中的某一个提交打上标签。我们一般会用来标记发布结点(v1.0.0)。
Git 使用两种主要类型的标签:轻量标签(lightweight)与附注标签(annotated)。

  • 轻量标签很像一个不会改变的分支 - 它只是一个特定提交的引用。
  • 附注标签是存储在 Git 数据库中的一个完整对象,可以被校验。其中包含打标签者的名字、电子邮件地址、日期时间以及标签信息;并且可以使用 GNU Privacy Guard (GPG)签名与验证。

一、创建标签

如果要创建一个轻量标签可以通过下面方法:

$ git tag v1.1

如果要创建一个附注标签,可以使用下面方法:

$ git tag -a v1.3 -m 'this is a tag'

-a 表示为附注标签,如果没有 -m 那么会调用文本编辑器(如果标签名已经存在,则会提示标签已存在)。

二、查看标签

$ git tag
v1.1
v1.2
v1.3

可以通过 -l 来特定查找标签,如下面只查 v1.2 相关的:

$ git tag -l v1.2*
v1.2

git show 命令可以看到标签信息与对应的提交信息(这里可以比较出轻量标签与附注标签的区别,v1.1 为轻量 v1.3 为附注,附注比轻量多了标签信息):

$ git show v1.1
commit 8bef5ee4fb4b111a8a0160426a4be73491d2b4b5
Author: zhangweize <zhangweize_qtl@sina.cn>
Date:   Mon Aug 29 14:38:16 2016 +0800

    test

diff --git a/1.txt b/1.txt
new file mode 100644
index 0000000..e69de29

$ git show v1.3
tag v1.3
Tagger: oDevilo <15757166470@163.com>
Date:   Sat Feb 4 15:55:41 2017 +0800

this is a tag

commit 8bef5ee4fb4b111a8a0160426a4be73491d2b4b5
Author: zhangweize <zhangweize_qtl@sina.cn>
Date:   Mon Aug 29 14:38:16 2016 +0800

    test

diff --git a/1.txt b/1.txt
new file mode 100644
index 0000000..e69de29
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值