git log简介

原文: http://www.cnblogs.com/gbyukg/archive/2011/12/12/2285419.html

git log 用于查看提交记录,参数有这些:
-n      (n是一个正整数),查看最近n次的提交信息

$ git log -2    查看最近2次的提交历史记录

-- fileName     fileName为任意文件名,查看指定文件的提交信息。(注:文件名应该放到参数的最后位置,通常在前面加上--并用空格隔开表示是文件。)

$ git log file1 file2   查看file1文件file2文件的提交记录
$ git log file/         查看file文件夹下所有文件的提交记录
$ git log -5 -p  file

--branchName    branchName为任意一个分支名字,查看莫个分支上的提交记录。同上,需要放到参数中的最后位置处。(注:如果分支名与文件名相同,系统会提示错误,可通过--选项来指定给定的参数是分支名还是文件名。)例:在当前分支中有一个名为v1的文件,同时还存在一个名为v1的分支,则:

$ git log v1 -- 此时的v1代表的是分支名字
$ git log -- v1 此时的v1代表的是名为v1的文件
$ git log v1 -- v1

tagName或branchame               查询指定标签/分支中的提交记录信息

$ git log v1.0..        查询从v1.0以后的提交历史记录(不包含v1.0)
$ git log test..master  查询master分支中的提交记录但不包含test分支记录
$ git log master..test  查询test分支中的提交记录但不办含master分支记录
git log origin/bomr1-8998..origin/bo-8998 --oneline
$ git log master...test 查询master或test分支中的提交记录。
$ git log test --not master  屏蔽master分支

根据commit查询日志    

$ git log commit    查询commit之前的记录,包含commit
$ git log commit1 commit2 查询commit1与commit2之间的记录,包括commit1和commit2
$ git log commit1..commit2 同上,但是不包括commit1

其中,commit可以是提交哈希值的简写模式,也可以使用HEAD代替。HEAD代表最后一次提交,HEAD^为最后一个提交的父提交,等同于HEAD~1,HEAD~2代表倒数第二次提交
--pretty        按指定格式显示日志信息,可选项有:oneline,short,medium,full,fuller,email,raw以及format:<string>,默认为medium,可以通过修改配置文件来指定默认的
方式。

$ git log (--pretty=)oneline

常见的format选项:

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

注:作者是指最后一次修改文件的人;而提交者是指提交该文件的人。

$ git log --pretty=format:"%an %ae %ad %cn %ce %cd %cr %s" --graph

--mergs 查看所有合并过的提交历史记录

--no-merges     查看所有未被合并过的提交信息

--author=someonet       查询指定作者的提交记录

$ git log --author=gbyukg

--since,--affter       仅显示指定时间之后的提交(不包含当前日期)

--until,-包含hotfix字样的提交信息说明的提交记录

注意:如果想同时使用--grep和--author,必须在附加一个--all-match参数。

-S      通过查询文件的变更内容来检索出指定提交日志

git log -S "comment关键字,或者code关键字"    


--oneline  //查询简单日志,仅显示第一行comment日志。

git log --oneline  


$ git log --Snew

-p      查看提交时的补丁信息

$ git log -p --no-merges -2

--stat  列出文件的修改行数

--sortstat      只显示--stat中最后行数修改添加移除的统计

--graph 以简单的图形方式列出提交记录

--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。

--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。

--name-only 仅在提交信息后显示已修改的文件清单。

--name-status 显示新增、修改、删除的文件清单。

<think>好的,用户让我介绍一下Git log。首先,我需要确定用户对Git的基础知识了解多少。可能用户已经知道基本的版本控制概念,但需要更深入了解如何查看提交历史。 接下来,我应该回顾Git log的基本功能,它用于查看项目的提交历史。用户可能想知道常用的选项和参数,比如如何简化输出、查看差异,或者按时间、作者过滤提交记录。需要分步骤介绍,让用户能够逐步掌握。 然后,考虑用户可能遇到的常见问题,比如日志太多难以阅读,或者需要查找特定提交。这时候,介绍一些常用的选项,比如--oneline、--graph、--since等,会有帮助。同时,示例很重要,用户可以通过实际的命令和输出来更好地理解。 还要注意格式问题,用户提到的系统级指令中,要求数学表达式用$...$,但这里可能不太涉及数学内容,所以可能不需要用到。不过要确保中文回答,结构清晰,步骤明确。 另外,用户可能需要知道如何自定义输出格式,比如使用--pretty=format来自定义显示的提交信息,这对定制化需求很有用。还有,如何查看文件的修改历史,比如使用git log <file>,这也是常见的使用场景。 需要检查是否有遗漏的重要选项,比如查看分支合并情况的--graph,或者如何限制显示的提交数量,比如-2。同时,提醒用户可以通过组合不同的选项来达到更精确的查找,比如同时使用--since和--author。 最后,确保语言简洁明了,避免技术术语过多,让不同水平的用户都能理解。可能需要总结常用命令,方便用户快速查阅。还要确认所有命令示例正确,符合LaTeX格式要求,但在这个上下文中可能不需要数学表达式,所以主要关注代码块的正确格式。</think>Git logGit 版本控制系统中用于查看提交历史的命令。通过逐步掌握以下内容,你可以有效追踪项目变更: 一、基础用法 1. 输入 `git log` 会显示完整提交历史 ```bash commit 3a7b8c1d (HEAD -> main) Author: 张三 <zhangsan@example.com> Date: Mon Jan 1 12:00:00 2023 +0800 添加用户登录功能 commit 5d2f4e9a Author: 李四 <lisi@example.com> Date: Sun Dec 31 09:30:00 2022 +0800 初始化项目结构 ``` 二、常用参数(组合使用效果更佳) 1. 精简显示:`git log --oneline` $$3a7b8c1 (HEAD -> main) 添加用户登录功能$$ $$5d2f4e9 初始化项目结构$$ 2. 图形化分支:`git log --graph --decorate` ```bash * commit 3a7b8c1 (main) | Author: 张三 | 添加登录功能 | * commit 5d2f4e9 初始化项目 ``` 3. 过滤提交 - 时间范围:`git log --since="2023-01-01" --until="2023-01-31"` - 按作者:`git log --author="张三"` - 按关键词:`git log -S "login"`(搜索包含"login"的修改) 三、高级应用 1. 查看文件历史:`git log README.md`(追踪特定文件变更) 2. 显示修改内容:`git log -p`(附带代码差异对比) 3. 自定义格式: ```bash git log --pretty=format:"%h | %an | %ad | %s" ``` 输出示例: $$3a7b8c1 | 张三 | Mon Jan 1 12:00:00 2023 +0800 | 添加用户登录功能$$ 四、实用技巧 1. 限制显示数量:`git log -2`(仅显示最新2条记录) 2. 时间线筛选:`git log --after="2 weeks ago"` 3. 组合命令:`git log --oneline --graph --all`(查看全部分支关系) 建议通过 `git help log` 查看完整文档。实际使用时,建议将常用参数设为别名: ```bash git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'" ``` 之后通过 `git lg` 即可获得彩色可视化日志。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值