Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >查看历史--Git日志

查看历史--Git日志

作者头像
用户3004328
发布于 2018-09-06 08:51:16
发布于 2018-09-06 08:51:16
1.1K00
代码可运行
举报
文章被收录于专栏:增长技术增长技术
运行总次数:0
代码可运行

git log命令可以显示所有的提交(commit)…..

显示补丁(patchs):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git log -p

commit da9973c6f9600d90e64aac647f3ed22dfd692f70
Author: Robert Schiele <rschiele@gmail.com>
Date:   Mon Aug 18 16:17:04 2008 +0200

    adapt git-cvsserver manpage to dash-free syntax

diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
index c2d3c90..785779e 100644
--- a/Documentation/git-cvsserver.txt
+++ b/Documentation/git-cvsserver.txt
@@ -11,7 +11,7 @@ SYNOPSIS
 SSH:

 [verse]
-export CVS_SERVER=git-cvsserver
+export CVS_SERVER="git cvsserver"
 'cvs' -d :ext:user@server/path/repo.git co <HEAD_name>

 pserver (/etc/inetd.conf):

## 日志统计

如果用--stat选项使用git log,它会显示在每个提交(commit)中哪些文件被修改了,这些文件分别添加或删除了多少行内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 ➜  changjiashuai git:(master) git log --stat
commit adf7bdbdbe5a8d11339109cc467cac4242d1562a
Author: changjiashuai <changjiashuai@gmail.com>
Date:   Thu Jul 10 16:04:35 2014 +0800

    --update test post

 ...13\345\257\274\345\205\245\345\210\260Android Studio.markdown" | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit e0239348407af7cde745994ba52761645da2e0df
Author: changjiashuai <changjiashuai@gmail.com>
Date:   Thu Jul 10 13:48:15 2014 +0800

    --update test post

 ...74\345\205\245\345\210\260Android Studio.markdown" | 19 +++++++++++++++++++
 ...\257\274\345\205\245\345\210\260Android Studio.md" | 19 -------------------
 2 files changed, 19 insertions(+), 19 deletions(-)

commit 81020af469bb390c64e726ff9660ed9d7d8beea6
Author: changjiashuai <changjiashuai@gmail.com>
Date:   Thu Jul 10 13:45:17 2014 +0800

格式化日志

你可以按你的要求来格式化日志输出。--pretty参数可以使用若干表现格式,如oneline:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
➜  changjiashuai git:(master) git log --pretty=oneline
adf7bdbdbe5a8d11339109cc467cac4242d1562a --update test post
e0239348407af7cde745994ba52761645da2e0df --update test post
81020af469bb390c64e726ff9660ed9d7d8beea6 --test add post blog
e1550187da873a3545b3600da62d923c77a5effd --init my blog

或者你也可以使用short格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
➜  changjiashuai git:(master) git log --pretty=short
commit adf7bdbdbe5a8d11339109cc467cac4242d1562a
Author: changjiashuai <changjiashuai@gmail.com>

    --update test post

commit e0239348407af7cde745994ba52761645da2e0df
Author: changjiashuai <changjiashuai@gmail.com>

    --update test post

commit 81020af469bb390c64e726ff9660ed9d7d8beea6
Author: changjiashuai <changjiashuai@gmail.com>

    --test add post blog

commit e1550187da873a3545b3600da62d923c77a5effd
Author: changjiashuai <changjiashuai@gmail.com>

    --init my blog

你也可用medium,full,fuller,email,raw。如果这些格式不完全符合你的要求,你也可以用--pretty=format参数(参见:git log)来创建你自己的格式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
➜  changjiashuai git:(master) git log --pretty=format:'%h was %an, %ar, message: %s'
adf7bdb was changjiashuai, 18 hours ago, message: --update test post
e023934 was changjiashuai, 21 hours ago, message: --update test post
81020af was changjiashuai, 21 hours ago, message: --test add post blog
e155018 was changjiashuai, 21 hours ago, message: --init my blog

另一个有趣的事是:你可以用--graph选项来可视化你的提交图(commit graph),就像下面这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
➜  changjiashuai git:(master) git log --pretty=format:'%h : %s' --graph
* adf7bdb : --update test post
* e023934 : --update test post
* 81020af : --test add post blog
* e155018 : --init my blog

它会用ASCII字符来画出一个很漂亮的提交历史(commit history)线。

日志排序

你也可以把日志记录按一些不同的顺序来显示。 注意:git日志从最近的提交(commit)开始,并且从这里开始向它们父分支回溯。然而git历史可能包括多个互不关联的开发路线,这样有时提交(commit)显示出来就有点杂乱。

如果你要指定一个特定的顺序,可以为git log命令添加顺序参数(ordering option)。

按默认情况,提交(commits)会按逆时间(reverse chronological)顺序显示。

但是你也可以指定--topo-order参数,这就会让提交(commits)按拓扑顺序显示(就是子提交在它们的父提交前显示)。如果你用git log命令按拓扑顺序来显示git仓库的提交日志,你会看到”开发线”(development lines)都会集合在一起。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
➜  changjiashuai git:(master) git log --pretty=format:'%h : %s' --topo-order --graph
* adf7bdb : --update test post
* e023934 : --update test post
* 81020af : --test add post blog
* e155018 : --init my blog

你也可以用’–date-order’参数,这样显示提交日志的顺序主要按提交日期来排序. 这个参数和’–topo-order’有一点像,没有父分支会在它们的子分支前显示,但是其它的东东还是按交时间来排序显示。你会看到”开发线”(development lines)没有集合一起,它们会像并行开发(parallel development)一样跳来跳去的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git log --pretty=format:'%h : %s' --date-order --graph
*   4a904d7 : Merge branch 'idx2'
|\  
* | 81a3e0d : updated packfile code to recognize index v2
| *   dfeffce : merged in bryces changes and fixed some testing issues
| |\  
| * | c615d80 : fixed a log issue
|/ /  
| * 23f4ecf : Clarify how to get a full count out of Repo#commits
| *   9d6d250 : Appropriate time-zone test fix from halorgium
| |\  
| * | decfe7b : fixed manifest and grit.rb to make correct gemspec
| * | cd27d57 : added lib/grit/commit_stats.rb to the big list o' file
| * | 823a9d9 : cleared out errors by adding in Grit::Git#run method
| * |   4eb3bf0 : resolved merge conflicts, hopefully amicably
| |\ \  
| * | | ba23640 : Fix CommitDb errors in test (was this the right fix?
| * | | 4d8873e : test_commit no longer fails if you're not in PDT
| * | | b3285ad : Use the appropriate method to find a first occurrenc
| * | | 44dda6c : more cleanly accept separate options for initializin
| * | | 839ba9f : needed to be able to ask Repo.new to work with a bar
| | * | d065e76 : empty commit to push project to runcoderun
* | | | 791ec6b : updated grit gemspec
* | | | 756a947 : including code from github updates
| | * | 3fa3284 : whitespace
| | * | d01cffd : whitespace
| * | | a0e4a3d : updated grit gemspec
| * | | 7569d0d : including code from github updates

最后,你也可以用 ‘–reverse’参数来逆向显示所有日志。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Git 系列教程(6)- 查看 commit 提交历史
-p 除了显示基本信息之外,还附带了每次提交的变化,好处:当进行代码审 review 时,可以快速看到别人提交代码的差异
小菠萝测试笔记
2021/05/18
1.9K0
Git 系列教程(6)- 查看 commit 提交历史
2.3 Git 基础 - 查看提交历史
在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史. 完成这个任务最简单而又有效的工具是 git log 命令。
shaonbean
2019/05/26
1.1K0
Git最全系列教程(二)
读完本章你就能上手使用 Git 了。本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异;以及如何从远程仓库拉数据下来或者推数据上去。
兔云小新LM
2019/07/24
8960
Git最全系列教程(二)
Git - 入门到熟悉_日志管理
在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。
小小工匠
2022/09/22
1870
Git - 入门到熟悉_日志管理
7.1 Git 工具 - 选择修订版本
现在,你已经学习了管理或者维护 Git 仓库、实现代码控制所需的大多数日常命令和工作流程。 你已经尝试了跟踪和提交文件的基本操作,并且发挥了暂存区和轻量级的分支及合并的威力。
shaonbean
2019/05/26
4200
Git常用命令总结
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
拓荒者
2019/09/25
5830
git版本控制
查看提交历史 git log 如果想要查看git的提交历史,可以使用git log命令。本文会介绍一些常用的命令选项,比如-<n>、-p、--stat、--pretty等。 默认的git log命令会显示所有提交历史: $ git log commit ccf42476e007db608813193659a5b4a0d3241df3Author: wm <1626364188g@gmail.com>Date: Fri Dec 29 11:31:54 2017 +0800 change .git
mwangblog
2018/07/04
9590
Git系列之查看提交历史
本节来说下Git 的提交历史,在日常开发中我们每天都在提交自己的更新代码之仓库,那么作为管理人员或者自己如何来查看提交了哪些呢?
申霖
2019/12/27
1.9K0
Git系列之查看提交历史
git log 查看某文件的修改历史
在synopsis中可以看到公式 git log [<options>] [[--] <path>] 其中 []中的内容可以为空
用户7657330
2020/08/14
9.4K0
git log 查看某文件的修改历史
学习笔记:04_Git的增、删、改和查看日志
test.txt之间删除掉了.这时候被删除的文件并未纳入暂存区当中。这个时候提交是不能的。
全栈程序员站长
2022/06/30
2820
5.3 分布式 Git - 维护项目
除了如何有效地参与一个项目的贡献之外,你可能也需要了解如何维护项目。 这包含接受并应用别人使用format-patch 生成并通过电子邮件发送过来的补丁,或对项目添加的远程版本库分支中的更改进行整合。 但无论是管理版本库,还是帮忙验证、审核收到的补丁,都需要同其他贡献者约定某种长期可持续的工作方式。
shaonbean
2019/05/26
6380
5.3 分布式 Git - 维护项目
Git GC命令清理Git暂存区
Git 会不定时地自动运行称为 “auto gc” 的命令。大部分情况下该命令什么都不处理。不过要是存在太多松散对象 (loose object, 不在 packfile 中的对象) 或 packfile,Git 会进行调用 git gc 命令。 gc 指垃圾收集 (garbage collect),此命令会做很多工作:收集所有松散对象并将它们存入 packfile,合并这些 packfile 进一个大的 packfile,然后将不被任何 commit 引用并且已存在一段时间 (数月) 的对象删除。
框架师
2021/03/08
7.1K0
Git 维护及数据恢复
你时不时的需要进行一些清理工作 ── 如减小一个仓库的大小,清理导入的库,或是恢复丢失的数据。本节将描述这类使用场景。
看、未来
2022/05/06
6430
Git示例教程 - 查看指定文件的历史修改记录
由上可见,该命令正确输出了所有修改了a.md文件的提交,包括第三次提交中把a.txt改名为a.md。
KINGYT
2019/11/28
2.4K0
开心档-开发入门网之Git查看提交历史
Git 查看提交历史 Git 提交历史一般常用两个命令: git log - 查看历史提交记录。 git blame <file> - 以列表形式查看指定文件的历史修改记录。 git log {#git-log} 在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。 针对我们前一章节的操作,使用 git log 命令列出历史提交记录如下: $ git log commit d5e9fc2c811e0ca2b2d28506ef7dc1417
iOS Magician
2023/03/21
3790
开心档-开发入门网之Git查看提交历史
Git示例教程 - 命令行中图形化显示提交日志
https://github.com/wangyuntao/git-by-example
KINGYT
2019/10/31
5.2K0
10.7 Git 内部原理 - 维护与数据恢复
有的时候,你需要对仓库进行清理 - 使它的结构变得更紧凑,或是对导入的仓库进行清理,或是恢复丢失的内容。 这个小节将会介绍这些情况中的一部分。
shaonbean
2019/05/26
8730
Git内部存储原理
Git是程序员工作中使用频率非常高的工具,要提高日常的工作效率,就需要熟练掌握Git的使用方法。相对于传统的版本控制系统而言,Git更为强大和灵活,其各种命令和命令参数也非常多,如果不了解Git的内部原理,要把Git使用得顺手的话非常困难。本文将用一个具体的例子来帮助理解Git的内部存储原理,加深对Git的理解,从掌握各种Git命令,以在使用Git进行工作时得心应手。
赵化冰
2022/08/01
7640
软件开发入门教程网之Git 查看提交历史
Git 查看提交历史Git 提交历史一般常用两个命令:git log - 查看历史提交记录。git blame <file> - 以列表形式查看指定文件的历史修改记录。git log {#git-log}在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。针对我们前一章节的操作,使用 git log 命令列出历史提交记录如下:$ git logcommit d5e9fc2c811e0ca2b2d28506ef7dc14171a207d9 (HE
爱学iOS的小麦子
2023/01/11
3590
Git 查看提交历史
在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。
看、未来
2022/05/06
1.2K0
相关推荐
Git 系列教程(6)- 查看 commit 提交历史
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档