git 常用命令之 git log

大家好,我是 17。

git log dev 查看 dev 分支的 log
git log -p 每次提交所引入的差异
git log --stat 每次提交的简略统计信息
git log --name-status 比 --stat 更简洁,更常用。

git log -2 最近两次提交
git log --since=2.weeks 最近两周内的提交
git log --since=2020-8-26 --until="2018.03.18"  日期两种写法都可 还可以用 / 分隔
git log --author=hongwei  只看 hongwei 的提交

git log --grep=登录    搜索提交信息中有登录的的交
git log --grep='auto commit' 如果搜索信息有空格,需要加上引号
git log -S login  在添加或删除的内容里搜索 包含login 的提交

git log --no-merges 不显示合并提交

上面列出的一些用法算是开胃小菜,下面介绍重量级的格式化功能。

git format

如果用默认输出的格式,看起来不大方便,根据你的需求,可以设置输出格式。

选项 说明
%H 提交的完整哈希值
%h 提交的简写哈希值
%T 树的完整哈希值
%t 树的简写哈希值
%P 父提交的完整哈希值
%p 父提交的简写哈希值
%an 作者名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 --date=选项 来定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期(距今多长时间)
%s 提交说明

我们可以从上面的选项中选择需要的选项。我的format 是这样的

git log --pretty=format:"%h %an %ad %s" --date=short --graph

–date 可选值可以到这里去找 https://git-scm.com/docs/git-log/en。

–date=short 按 2022-08-26 的短格式显示日期。
–graph 图形化显示,主要是用来看分支的关系的。

只查看分支log

默认情况下,在分支执行 git log 会显示打分支前和打分支后的所有 log。只查看分支log ,需要这样写:

git log dev ^master --reverse

--reverse 表示按正序显示,默认是倒序显示的。

dev ^master 显示在 dev,不在master 的提交,也可以这样写

git log master..dev

可以这样理解,从 master 到 dev 需要哪些更改呢?两种写法都可以。

分支名改成 commit 也是可以的,用分支名代表的就是最后一个 commit

git log commit..commit 

除了两个点的,还有三个点的,表示排除 master,topic 共有的,剩下的所有提交。

git log master...topic 
相当于
git log master topic --not $(git merge-base --all master topic)

还是看这张图 git log master...topic的结果是 ABCFG

前面讲过 diff , 三个点也是与 merge-base 有关。

猜你喜欢

转载自blog.csdn.net/m0_55635384/article/details/128993390