这是git的新系列,不常用的命令和其参数比较容易记不住,干脆将常用的记录下来,日后查查方便也是好的,一篇文章一个git命令,长短根据命令有所不同。

git log命令主要用于查看提交历史,同时根据添加的参数不同也会有不同的用法


git log

直接使用git log,使用效果如下图所示,会把提交历史按照如下图的格式展示出来,这是在使用git中必不可少的一条命令

这个命令会根据提交的事件列出所有更新,最近的更新在最上面

从上往下,第一行是提交号,这是该次提交的SHA-1校验和

第二行是作者的名字

第三行是提交时间

最后一行是提交说明

如果提交数过多会进行分页显示,可以按回车继续查看或者q退出查看


git log -2

通过参数,git log -2可以只显示最近的两条提交记录


git log -p

最常用的选项是 -p,这个参数可以用来展示出每次提交内容的差异,不过内容可能会比较多,一般会和上面的-2参数一起使用限定查看的提交数

当然直接指定commit号,查看对应的commit的差异也是可以的


git -log --stat

然而你并不想要这么详细的信息(我的那个就贼长,根本看不下去),也不想要裸命令那么简短的信息,于是应该使用-stat参数

注意了,这里的参数是“两道杠”,一道杠等级不够大队长(git bash)是不认的

这根本看不到啥啊?不满意这个参数往下看。


git log --pretty

--stat显然不能满足定制的需要,所以我们用点厉害的,--pretty参数可以定制显示格式,从最牛皮的开始

git log --pretty=format

它可以定制要显示的记录格式,这才是最想要的

我要偷懒截图了,表格不想弄了

git log --pretty=oneline

它可以让你的提交在一行显示完(当然显示器得够宽)

git log --pretty=short

真的很short了【笑哭】

git log --pretty=full

git log --pretty=fuller

这俩命令就不浪费时间了,只是比short多了点commit信息


git log --shortstat

这个真的就是比--stat短了一点啊,只显示--stat中最后的修改过的统计


git log --name-only

只是在提交信息后面显示被修改的文件清单,连修改几行都不给你显示了


git log --since=2.weeks

虽然有git log -2这样的操作但是一般是不会使用的,有按照时间作限制的选项更常用,例子中的命令是显示近两周的提交

见笑了,两周内该仓库并没有提交(我又懒了)

比较强大的是,这个参数支持多种日期的格式,2018-02-01可以,你要是英语能力过关也可以用英语,2 years 1 day 3 minutes ago

选项 说明
-(n) 就是-2这样的用法仅显示最近的n条提交
--since , --after 和例子一样用来限制时间的,仅显示指定时间之后的提交
--until , --before 仅显示指定时间之前的提交
--author 指定作者
--committer 指定提交者
--grep 跟linux的grep一个意思,按关键字显示
-S 仅显示添加或移除了某个关键字的提交

感觉-S比较难懂,来个例子

git log -S Singleton

这个是找出添加了 Singleton 这个关键字的提交,和grep参数还有一些区别


git log --grep Singleton

--grep 参数是找出commit message中的关键字,并不能进入提交内部看代码部分,但是-S是根据代码的部分查找

这次就到这就结束啦,如果有错我会再进行修正,请大家多多指教

天啦,爷爷你关注的博主居然更新了?虽然没啥人关注......

[Git] git log命令的更多相关文章

  1. GIT使用log命令显示中文乱码

    背静: 公司项目使用GIT进行代码同步. 问题: 之前代码提交后,有中文备注,但是在使用git log查看代码历史记录的时候发现显示乱码,如下: 后查询相关资料,现将解决办法总结如下: 1.运行Git ...

  2. [Git] 024 log 命令的补充

    0. 回顾 [Git] 009 逆转未来 的 "1" 画张导图 其实 --oneline 前有个"关键字参数" "--pretty" --o ...

  3. git log命令全解析,打log还能这么随心所欲!

    git log命令非常强大而好用,在复杂系统的版本管理中扮演着重要的角色,但默认的git log命令显示出的东西实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! ...

  4. git学习------>如何用git log命令来查看某个指定文件的提交历史记录

    有时候接手一份新代码时,看到某些文件的改动,但不清楚这个改动的作者和原因,想查看该文件的具体提交历史记录. 今天一个同事是这样做的,直接敲git log命令,然后再使用vim命令的搜索关键字的方法来查 ...

  5. Git(7)-- 查看提交历史(git log 命令详解)

    @ 目录 1.git clone 2.git log 3.git log -p 4.git log --stat 5.git log --pretty=oneline 6.git log --pret ...

  6. 『现学现忘』Git基础 — 25、git log命令参数详解

    目录 1.git log命令说明 2.git log命令参数 (1)不带参数 (2)常用显示参数 (3)--pretty参数 (4)--date=参数 (5)筛选参数 git log命令主要用于查看G ...

  7. git常用的命令集合

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  8. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  9. git的一些命令行

    以下代码均在命令行中执行:在目标文件夹目录下: 1.初始化一个Git仓库,使用git init命令. 2.添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意 ...

随机推荐

  1. Sequelize 基本操作

    Sequelize 是 Node 的一个 ORM(Object-Relational Mapping) 框架,用来方便数据库操作. 配置 sequelize 以 mysql 为例 首先我们要引入npm ...

  2. c/c++ 贪吃蛇控制台版

    贪吃蛇控制台版(操作系统win7 64位:编译环境gcc, vs2017通过,其它环境未测试 不保证一定通过) 运行效果: #include <iomanip> #include < ...

  3. fgets的用法

    fgets的用法:    char *fgets(char *s, int size, FILE *stream);       fgets()  reads  in  at most one les ...

  4. Springboot(二):Spring Boot 之 HelloWorld

    关于项目的创建不再解释,需要了解的请参考: Springboot(一):使用Intellij中的Spring Initializr来快速构建Spring Boot工程 目录结构: 首先我们在上一项目的 ...

  5. 定义一个数,它可能为正 也可能为负 var num = Math.pow(-1,parseInt(Math.random() * 2) + 1);

    // 定义一个随机数范围从0 ~页面宽度 var x = parseInt(Math.random() * myCanvas.width); // 定义一个随机数 范围从0 ~页面高度 var y = ...

  6. 【Core2.0帮助类】

    缓存帮助类(CacheHelper) /// <summary> /// 缓存帮助类 /// </summary> public class CacheHelper {//下载 ...

  7. 工具:从一个文件夹中复制jar到另一个文件夹中

    工具类:从一个文件夹中复制jar到另一个文件夹中 需要的小伙伴可以试一试,很爽哦,有时候真的很需要! 需求:当我们拿到一个maven项目时,而maven项目的jar包都是通过pom.xml文件管理的, ...

  8. 变量、交互&注释、数字&字符串&布尔、格式化输出

    变量 变量定义规范: 声明变量: name = "Neo Zheng"    # name为变量名(标识符),"Neo Zheng"是变量值. 变量定义规则: ...

  9. 如何让一个DIV水平,垂直方向都居中于浏览器?

    <style type="text/css"><!-- div {position:absolute;top:50%;left:50%;margin:-150px ...

  10. 2017ecjtu-summer training #11 POJ 1018

    Communication System Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 29218   Accepted:  ...