Git 基础 - 查看提交历史

查看提交历史

git log 命令用于查看提交历史

$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon 
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the verison number

commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon 
Date:   Sat Mar 15 16:40:33 2008 -0700

    removed unnecessary test code

commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon 
Date:   Sat Mar 15 10:31:28 2008 -0700

    first commit

默认不使用参数的话,git log 会按提交时间列出所有的更新,最近的更新在最上面。这个命令列出每个提交的 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明。

git log 有很多选项可以帮助你搜索你要找的提交:

  • -p 用于显示每次提交内容的差异,

    • git log -p -2
  • --stat 用于显示每次提交的简略的统计信息,

    • git log -stat
  • --pretty 指定使用不同于默认格式的方式展示提交历史,

    • git log --pretty=oneline(在一行显示),short, full,fuller等.
    • git log --pretty=format:"%h - %an, %ar : %s",定制要显示的格式
  • --graph 这个选项添加了一些 ASCII字符串来形象地展示分支,合并历史
    *git log --pretty=format:"%h %s" --graph

限制输出长度

$git log --since=2.weeks
选项 说明
-(n) 仅显示最近的 n 条提交
--since, --after 仅显示指定时间之后的提交。
--until , --before 仅显示指定时间之前的提交。
--author 仅显示指定作者相关的提交。
--committer 仅显示指定提交者相关的提交。
--grep 仅显示含指定关键字的提交
-S 仅显示添加或移除了某个关键字的提交

Table. 限制 git log 输出的选项

来看一个实际的例子,如果要查看 Git 仓库中,2008 年 10 月期间,Junio Hamano 提交的但未合并的测试文件,可以用下面的查询命令:

$ git log --pretty="%h - %s" --author=gitster --since="2008-10-01" \
   --before="2008-11-01" --no-merges -- t/
5610e3b - Fix testcase failure when extended attributes are in use
acd3b9e - Enhance hold_lock_file_for_{update,append}() API
f563754 - demonstrate breakage of detached checkout with symbolic link HEAD
d1a43f2 - reset --hard/read-tree --reset -u: remove unmerged new paths
51a94af - Fix "checkout --track -b newbranch" on detached HEAD
b0ad11e - pull: allow "git pull origin $something:$current_branch" into an unborn branch

你可能感兴趣的:(Git 基础 - 查看提交历史)