[译]git log
git log
git log命令用来显示提交的快照. 能列出来你项目的历史, 能过滤和搜索你指定的一些修改. git status能让你检查工作目录和stage区的状态, git log只提供被commited到head的一些历史信息.

用法
git log
使用默认格式展示这个项目的commit历史. 如果输出超过一屏, 可以使用空格键来展示下一屏, 或者按q推出.
git log -n <limit>
限制只展示最近<limit>条commit历史. 如果<limit>为3那么只显示最近的3次commit历史.

git log --online
压缩每个commit到一行.

git log --stat
输出包括了git log的信息, 并且额外显示了哪些文件被修改了, 哪一行是新加的或者被删除了.

git log -p
有点类似于git log --state, 但是git log -p提供的信息更加详细, 他把修改的内容也给展现出来了.

git log --author="<pattern>"
搜索指定作者的commit. <pattern>可以是正则表达式.
git log --grep="<pattern>"
搜索commit描述匹配<pattern>的commit. <pattern>同样可以是正则表达式.
git log <since>..<until>
显示<since>到<until>之间的commit. <since>和<until>这两个参数可以是commit ID, branch名字, HEAD.
git log <file>
只显示指定文件的commit.
git log --graph --decorate -- online
这个非常用用. --graph会在最左边输出一个基于文本的符号(为了好看, 或者分类).

--decorate会把branch的名字和tag的名字也显示出来.

--online会把每个commit信息压缩成一行.

讨论
commit 3157ee3718e180a9476bf2e5cab8e3f1e78a73b7
Author: John Smith
第一行commit后面的40个字符是代表这一次commit的SHA-1校验码, 他是唯一的. 这个校验码有两个用途. 第一, 确保commit的完整--如果他被污染了, commit会生成一个不同的校验码. 第二, 作为commmit的一个唯一的ID号.
这个ID能在一些命令中使用, 例如git log <since>..<untile>(git log 3157e..5ab91).
~符号用来表示一个相对于某个commit之前的相对位置的commit. 例如, 3157e~1表示在3157e之前的一个commit, HEAD~3表示当前commit之前的第三个commit.
例子
option可以组合使用.
git log --author="John Smith" -p hello.py
完整显示John Smith对hello.py这个文件所做的修改.
..符号可用于比较branch. 下面的例子展示了some-feature中有但是master中没有的commit
git log --oneline master..some-feature
[译]git log的更多相关文章
- [译]git log进阶
格式化log输出 oneline --oneline标记将每个commit压缩成一行. 默认情况下显示一个commit ID和commit描述的第一行. 输出如下: 0e25143 Merge bra ...
- git log命令全解析,打log还能这么随心所欲!
git log命令非常强大而好用,在复杂系统的版本管理中扮演着重要的角色,但默认的git log命令显示出的东西实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! ...
- [译]git的那些flag
git add -p console有一个交互式的界面(如下图),让你一个一个文件的选择是add还是不add.注意这些文件必须是tracked过的, 也就是说如果你的新的文件从来没有add过,那么他不 ...
- python解析git log后生成页面显示git更新日志信息
使用git log可以查到git上项目的更新日志. 如下两个git项目,我想把git的日志信息解析成一个便于在浏览器上查看的页面. https://github.com/gityf/lua https ...
- [git]Git log 输出格式化(转载)
转载于:https://havee.me/linux/2015-05/git-pretty-output.html 美化完的格式: git log --graph --pretty=format:'% ...
- git log 格式化输出
Git log --graph --pretty=format: '%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)& ...
- git log 常用命令及技巧
git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...
- git log --stat常用命令
1,显示被修改文件的修改统计信息,添加或删除了多少行. git log --stat 2,显示最近两条的修改 git log --stat -2 3,显示具体的修改 git log -p -2 4, ...
- [译]git fetch
git fetch从远程仓储导入commit到你的本地仓储. 这些fetch到的commit是做为一个远程分支存储在你本地的. 这样你可以在集成这些commit到你的项目前先看看都有些什么修改. 用法 ...
随机推荐
- shell实现的守护进程
代码本来是别人那里拿来的,自己又改了下,给busybox用. #! /bin/sh PRO_PATH=/opt/myapp PROGRAM=packet_analyzer while true ; d ...
- java里面时间差比较
currentTime.before(this.getLastActivateTime(time))//返回true 或者false public Date getLastActivateTime(t ...
- List<List<String>>
package list; import java.util.ArrayList; import java.util.List; public class MyList { public static ...
- gvim e303 无法打开 “[未命名]“的交换文件,恢复将不可能
今天vim出现:“gvim e303 无法打开 “[未命名]“的交换文件,恢复将不可能” 解决办法: 修改你的.vimrc,增加下面的一行: set directory=.,$TEMP "默 ...
- Mac系统搭建Go语言Sublime Text 2环境配置
Go语言是谷歌自家的编译型语言,旨在不损失性能的前提下降低代码复杂率.其优势是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦. 一.安装Golang的SDK 在官网http: ...
- PhyLab2.0需求与功能分析改进文档(NABCD)
PhyLab1.0需求规格说明文档 1. 概述 1.1 项目概述 软剑攻城队小组于2015学年开发了PhyLab物理实验网站,一经发布好评如潮.网站的核心功能是提供预习报告和自动数据处理,而后加入了论 ...
- Spring data jpa批量插入和更新
http://blog.csdn.net/wangshfa/article/details/27323297 1 public interface BatchDao<T> { 2 ...
- 从Paxos到ZooKeeper-三、ZooKeeper的典型应用场景
ZooKeeper是一个典型的发布/订阅模式的分布式数据管理与协调框架,开发人员可以使用它来进行分布式数据的发布与订阅.另一方面,通过对ZooKeeper中丰富的数据节点类型进行交叉使用,配合Watc ...
- mysql修改引擎
1 查看系统支持的存储引擎 show engines; 2 查看表使用的存储引擎 两种方法: a.show table status from db_name where name='table_na ...
- ASP------<input type="file"/>上传文件
界面代码(注意:runat="Server"和input file中name一定要有) <html xmlns="http://www.w3.org/1999/xh ...