Amazon Best VPN GoSearch

OnWorks 网站图标

git-rev-list - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 git-rev-list

这是 git-rev-list 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


git-rev-list - 按时间倒序列出提交对象

概要


混帐 版本列表 [ --max-count= ]
[--跳过= ]
[ --max-age= ]
[ --min-age= ]
[--稀疏]
[--合并]
[--不合并]
[ --min-parents= ]
[ --没有最低父母 ]
[ --max-parents= ]
[ --无最大父母 ]
[--第一父母]
[--删除-空]
[--完整历史]
[ - 不是 ]
[ - 全部 ]
[ -- 分支[= ] ]
[ --tags[= ] ]
[ --remotes[= ] ]
[ --glob= ]
[--忽略缺失]
[--标准输入]
[ - 安静的 ]
[ --topo 顺序 ]
[ - 父母 ]
[--时间戳]
[ - 左右 ]
[--仅左]
[--仅右]
[--樱桃标记]
[--樱桃挑选]
[--编码= ]
[ --(作者|提交者|grep)= ]
[ --regexp-ignore-case | -一世 ]
[ --extended-regexp | -E]
[ --固定字符串 | -F ]
[ --日期= ]
[ [ --对象 | --objects-edge | --objects-edge-aggressive ]
[--解压]]
[--漂亮| --标题]
[--二等分]
[ --bisect-vars ]
[ --bisect-all ]
[--合并]
[ - 逆转 ]
[ --walk-reflogs ]
[--禁止步行] [--步行]
[ - 数数 ]
[--使用位图索引]
... [-- ...]

商品描述


通过遵循给定提交的父链接列出可访问的提交,
但排除可从带有 ^ 在他们面前。
默认情况下,输出按逆时间顺序给出。

您可以将其视为集合操作。 在命令行上给出的提交形成一组
提交可从其中任何一个访问,然后提交可从任何一个访问
给予的 ^ 前面是从那个集合中减去的。 剩下的提交是什么
出现在命令的输出中。 可以使用各种其他选项和路径参数
进一步限制结果。

因此,以下命令:

$ git rev-list foo bar ^baz

意思是“列出所有可以从 FOO or 酒吧,但不是来自 巴兹".

一个特殊的符号“.." 可以用作 "^' 的简写'
"。例如,以下任一项可以互换使用:

$ git rev-list origin..HEAD
$ git rev-list HEAD ^origin

另一个特殊符号是“..." 这对合并很有用。
提交的结果集是两个操作数之间的对称差异。 这
以下两个命令是等效的:

$ git rev-list AB --not $(git merge-base --all AB)
$ git rev-list A..​​.B

版本列表 是一个非常重要的 Git 命令,因为它提供了构建和
遍历提交祖先图。 出于这个原因,它有很多不同的选择
使其能够被不同的命令使用 混帐 二等分混帐 改装.

配置


承诺 限制
除了指定应该使用特殊符号列出的提交范围之外
在描述中解释过,可以应用额外的提交限制。

使用更多选项通常会进一步限制输出(例如 --since= 限制为
提交比, 并与 --grep= 一起使用对提交的进一步限制
其日志消息有一行匹配), 除非另有说明。

请注意,这些是在提交排序和格式选项之前应用的,例如
- 逆转。

—— , -n , --max-count=
限制提交到输出的数量。

--跳过=
跳至 在开始显示提交输出之前提交。

--因为= , --after=
显示比特定日期更近的提交。

--直到= , --before=
显示早于特定日期的提交。

--max-age= , --min-age=
将提交输出限制在指定的时间范围内。

--作者= , --提交者=
将提交输出限制为作者/提交者标题行与
指定的模式(正则表达式)。 有多个 --author= , 提交
选择其作者与任何给定模式匹配的人(对于多个
--提交者= )。

--grep-reflog=
将提交输出限制为具有与指定模式匹配的 reflog 条目的提交输出
(正则表达式)。 使用多个 --grep-reflog,提交其 reflog 消息
匹配任何给定的模式被选择。 使用此选项是错误的,除非
--walk-reflogs 正在使用中。

--grep=
将提交输出限制为具有与指定模式匹配的日志消息的提交输出
(正则表达式)。 不止一个 --grep= , 提交其消息
匹配任何给定的模式被选择(但请参阅--all-match)。

--全匹配
将提交输出限制为与所有给定的 --grep 匹配的输出,而不是那些匹配的输出
至少匹配一个。

--反转-grep
将提交输出限制为日志消息与模式不匹配的提交输出
用 --grep= 指定.

-i, --regexp-忽略大小写
匹配正则表达式限制模式而不考虑字母大小写。

--基本正则表达式
将限制模式视为基本的正则表达式; 这是默认设置。

-E,--扩展正则表达式
考虑将限制模式扩展为正则表达式而不是
默认的基本正则表达式。

-F,--固定字符串
将限制模式视为固定字符串(不要将模式解释为
正则表达式)。

--perl-正则表达式
将限制模式视为与 Perl 兼容的正则表达式。 需要
要编译的 libpcre。

--删除空
当给定的路径从树中消失时停止。

--合并
仅打印合并提交。 这与 --min-parents=2 完全相同。

--不合并
不要打印具有多个父级的提交。 这与
--max-parents=1。

--min-父母= , --max-parents= , --no-min-parents, --no-max-parents
仅显示至少(或最多)有许多父级提交的提交。 在
特别是,--max-parents=1 与--no-merges 相同,--min-parents=2 与
——合并。 --max-parents=0 给出所有根提交,--min-parents=3 给出所有八达通
合并。

--no-min-parents 和 --no-max-parents 再次重置这些限制(无限制)。
等效形式是 --min-parents=0 (任何提交都有 0 个或多个父项)和
--max-parents=-1(负数表示没有上限)。

--第一父母
看到合并提交后,只关注第一个父提交。 这个选项可以给
查看特定主题分支的演变时更好的概览,因为
合并到一个主题分支往往只是调整到更新上游
不时,此选项允许您忽略引入的单个提交
通过这样的合并到你的历史。 不能与 --bisect 结合使用。

- 不是
颠倒意思 ^ 所有后续修订的前缀(或缺少前缀)
说明符,直到下一个 --not。

- 全部
假设 refs/ 中的所有 refs 都在命令行中列出 .

--分支[= ]
假设 refs/heads 中的所有 refs 都在命令行中列出 .
If 给定,将分支限制为匹配给定 shell glob 的分支。 如果模式
缺乏 ?, *[, /* 最后是暗示。

--标签[= ]
假设所有 refs/tags 中的 refs 都在命令行中列出 。 如果
给定,将标签限制为与给定 shell glob 匹配的标签。 如果缺少图案 ?,
*[, /* 最后是暗示。

--遥控器[= ]
假装 refs/remotes 中的所有 refs 都列在命令行中 .
If 给定,将远程跟踪分支限制为与给定 shell 匹配的分支
球。 如果缺少图案 ?, *[, /* 最后是暗示。

--glob=
假装所有的 refs 都匹配 shell glob 列在上面
命令行为 。 领导 参考文献/, 如果丢失,将自动添加。 如果
模式缺乏 ?, *[, /* 最后是暗示。

--排除=
不包括 refs 匹配 下一个 --all, --branches, --tags,
--remotes 或 --glob 否则会考虑。 此选项的重复累积
排除模式直到下一个 --all、--branches、--tags、--remotes 或 --glob
选项(其他选项或参数不会清除累积模式)。

给出的模式不应以 refs/heads、refs/tags 或 refs/remotes 开头,当
分别应用于 --branches、--tags 或 --remotes,并且它们必须以
refs/ 应用于--glob 或--all 时。 如果一个尾随 /* 是有意的,必须给予
明确地。

--reflog
假设 reflogs 提到的所有对象都在命令行中列出
.

--忽略缺失
在输入中看到无效的对象名称时,假装错误的输入不是
给定的。

--标准输入
除了 在命令行上列出,从标准中读取它们
输入。 如果一个 -- 看到分隔符,停止读取提交并开始读取路径
限制结果。

- 安静的
不要将任何内容打印到标准输出。 这种形式主要是为了允许
调用者测试退出状态以查看对象范围是否完全连接(或
不是)。 它比将 stdout 重定向到 /dev/null 更快,因为输出不必
被格式化。

--樱桃标记
像--cherry-pick(见下文)但用= 标记等效提交而不是省略
它们,以及带有 + 的不等价的。

--樱桃挑选
省略任何引入与“另一端”的另一个提交相同的更改的提交
当提交集受限于对称差异时。

例如,如果您有两个分支,A 和 B,列出所有提交的常用方法
只有一侧是 --left-right (请参阅下面的说明中的示例
--left-right 选项)。 但是,它显示了精心挑选的提交
来自另一个分支(例如,“3rd on b”可能是从分支 A 中挑选出来的)。
使用此选项,此类提交对将从输出中排除。

--仅左,--仅右
列表仅在对称范围的相应侧提交,即仅提交那些
将被标记为 < resp。 > 通过 --left-right。

例如, --cherry-pick --right-only A...B 省略了 B 中的那些提交
A or 补丁等效于 A 中的提交。换句话说,这列出了 + 提交
来自 git cherry A B。更准确地说,--cherry-pick --right-only --no-merges 给出了
确切名单。

- 樱桃
--right-only --cherry-mark --no-merges 的同义词; 有助于将输出限制为
我们这边的提交并标记那些已应用于另一端的提交
使用 git log --cherry upstream...mybranch 分叉历史​​,类似于 gitcherry
上游 mybranch。

-g, --walk-reflogs
不是走提交祖先链,而是走最近的 reflog 条目
一到老的。 使用此选项时,您不能指定要排除的提交
(那是, ^提交, 提交1..提交2提交1...提交2 不能使用符号)。

使用 --pretty 格式而不是 oneline(出于显而易见的原因),这会导致输出
从 reflog 中获取两行额外的信息。 默认情况下, 提交@{Nth}
输出中使用符号。 当起始提交被指定为 提交@{现在},
输出也使用 提交@{时间戳} 符号代替。 在 --pretty=oneline 下,
提交消息在同一行上以该信息为前缀。 这个选项不能
与--reverse 结合使用。 也可以看看 git reflog(1)。

- 合并
合并失败后,显示存在冲突且不存在的文件的引用
所有的头要合并。

- 边界
输出排除边界提交。 边界提交以 - 为前缀。

--使用位图索引
尝试使用包位图索引(如果有)加快遍历速度。 笔记
当用 --objects 遍历时,树和 blob 不会有它们的关联
路径打印。

发展历程 简单化
有时你只对部分历史感兴趣,例如提交
修改特定. 但是有两个部分 发展历程 简单化,一个部分
是选择提交,另一个是如何去做,因为有多种策略可以
简化历史。

以下选项选择要显示的提交:


提交修改给定的被选中。

--简化装饰
选择由某个分支或标签引用的提交。

请注意,可以显示额外的提交以提供有意义的历史记录。

以下选项会影响执行简化的方式:

默认模式
将历史简化为解释树最终状态的最简单历史。
最简单,因为如果最终结果相同,它会修剪一些侧枝(即
合并内容相同的分支)

--全历史
与默认模式相同,但不修剪一些历史记录。

- 稠密
只显示选定的提交,加上一些具有有意义的历史记录。

- 疏
显示简化历史记录中的所有提交。

--简化合并
--full-history 的附加选项,用于从结果中删除一些不必要的合并
历史,因为没有选定的提交有助于此合并。

--祖先路径
当给定要显示的提交范围时(例如 提交1..提交2 or 提交2 ^提交1),
只显示直接存在于祖先链上的提交 提交1
提交2, 即提交既是 提交1,和祖先 提交2.

更详细的解释如下。

假设您将 foo 指定为. 我们将调用修改 foo 的提交!TREESAME,
其余的 TREESAME。 (在为 foo 过滤的差异中,它们看起来不同且相等,
分别。)

在下文中,我们将始终参考相同的示例历史来说明
简化设置之间的差异。 我们假设您正在过滤文件
foo 在这个提交图中:

.-A---M---N---O---P---Q
// / / / /
IBCDEY
\/////
`-------------' X

历史的水平线 A---Q 被认为是每个合并的第一个父级。 这
提交是:

· I 是初始提交,其中 foo 存在,内容为“asdf”,还有一个文件 quux
与内容“quux”一起存在。 初始提交被比作一棵空树,所以我是
!树。

· 在 A 中,foo 只包含“foo”。

· B 包含与 A 相同的变化。它的合并 M 是微不足道的,因此对所有人来说都是 TREESAME
父母。

· C 不改变 foo,但它的合并 N 将它改变为“foobar”,所以它不是 TREESAME
给任何家长。

· D 将 foo 设置为“baz”。 它的合并 O 将 N 和 D 的字符串组合成“foobarbaz”;
即,它对任何父母都不是 TREESAME。

· E 将quux 更改为“xyzzy”,其合并P 将字符串组合为“quux xyzzy”。 P是
TREESAME 到 O,但不是 E。

· X 是一个独立的根提交,添加了一个新的文件端,Y 修改了它。 Y是
TREESAME 到 X。它的合并 Q 添加到 P 边,Q 是 TREESAME 到 P,但不是 Y。

rev-list 向后遍历历史记录,根据是否包含或排除提交
使用 --full-history 和/或父重写(通过 --parents 或 --children)。 这
以下设置可用。

默认模式
如果对任何父级都不是 TREESAME,则包括提交(尽管这可以是
已更改,请参阅下面的 --sparse)。 如果提交是合并,并且对一个来说是 TREESAME
父母,只跟随那个父母。 (即使有多个 TREESAME 父母,也遵循
只有其中之一。)否则,跟随所有父母。

结果是:

.-A---N---O
///
ID

请注意仅遵循 TREESAME 父级的规则(如果可用)如何删除 B
完全从考虑。 C 被认为是通过 N,但是是 TREESAME。 根提交
被比作一棵空树,所以我是 !TREESAME。

父/子关系仅在 --parents 中可见,但这不会影响
在默认模式下选择提交,所以我们已经显示了父行。

--没有父重写的完整历史
此模式与默认模式有一点不同:始终遵循合并的所有父级,
即使对其中之一来说是 TREESAME。 即使合并的不止一侧有
包含的提交,这并不意味着合并本身是! 在里面
例如,我们得到

IABNDOPQ

M 被排除在外,因为它对父母双方都是 TREESAME。 E、C、B都走过,
但只有 B 是 !TREESAME,所以其他人没有出现。

请注意,没有父级重写,就不可能真正谈论
提交之间的父/子关系,因此我们将它们显示为断开连接。

-- 父重写的完整历史
普通提交仅在它们是 !TREESAME 时才包括在内(尽管这可以更改,
见下面的--sparse)。

合并总是包括在内。 然而,他们的父列表被重写:沿着每个
父级,修剪掉不包括在内的提交。 这导致

.-A---M---N---O---P---Q
// / / /
IB / 日 /
\////
`-------------'

与 --full-history 比较而不重写上面的内容。 请注意,E 被修剪掉了,因为
它是 TREESAME,但是 P 的父列表被重写为包含 E 的父 I。
C 和 N 以及 X、Y 和 Q 也是如此。

除上述设置外,您还可以更改 TREESAME 是否影响包含:

- 稠密
如果对任何父级都不是 TREESAME,则包括已步行的提交。

- 疏
包括所有走过的提交。

请注意,如果没有--full-history,这仍然简化了合并:如果父母之一
是 TREESAME,我们只遵循那个,所以合并的另一边永远不会
走了。

--简化合并
首先,以与父重写相同的方式构建历史图--full-history
确实(见上文)。

然后根据以下公式将每个提交 C 简化为最终历史记录中的替换 C'
以下规则:

· 将 C' 设置为 C。

· 用它的简化P'替换C'的每个父P'。 在这个过程中,放下
作为其他父母的祖先或根的父母将 TREESAME 提交给
一棵空树,并删除重复项,但请注意不要丢弃所有父项
我们是 TREESAME。

· 如果在这个父重写之后,C' 是一个根或合并提交(有零或 >1
父母),边界提交,或 !TREESAME,它仍然存在。 否则,它被替换
与它唯一的父母。

通过与父级的 --full-history 进行比较,可以最好地展示这种效果
重写。 例子变成:

.-A---M---N---O
///
炎症性肠病
\//
`---------'

请注意 N、P 和 Q 与 --full-history 的主要区别:

· N 的父列表已被 I 删除,因为它是另一个父 M 的祖先。
尽管如此,N 仍然存在,因为它是 !TREESAME。

· P的父列表同样被我删除了。 然后 P 被完全删除,因为
它有一个父母并且是 TREESAME。

· Q 的父列表将 Y 简化为 X。然后删除 X,因为它是一个
TREESAME 根。 Q 然后被完全删除,因为它有一个父级并且是
树荫。

最后,还有第五种简化模式可用:

--祖先路径
将显示的提交限制为直接在“from”之间的祖先链上的提交
和“to”在给定的提交范围内提交。 即只显示提交
“to”提交的祖先和“from”提交的后代。

作为示例用例,请考虑以下提交历史记录:

D---E------F
/ \ \
B---C---G---H---I---J
/ \
A--------K----------------L--M

一个普通的 DM 计算作为 M 祖先的提交集,但不包括
D 的祖先。这有助于了解历史发生了什么
从 D 导致 M,从某种意义上说,“M 拥有的东西在 D 中不存在”。
此示例中的结果将是所有提交,除了 A 和 B(以及 D 本身,属于
课程)。

当我们想找出 M 中的哪些提交被引入的错误所污染时
D 并且需要修复,但是,我们可能只想查看 DM
实际上是 D 的后代,即不包括 C 和 K。这正是
--ancestry-path 选项确实如此。 应用于 DM 范围,它导致:

E--F
\ \
G---H---I---J
\
L--M

--simplify-by-decoration 选项允许您只查看大图
历史的拓扑结构,通过省略标签未引用的提交。 提交是
标记为 !TREESAME(换句话说,保留在描述的历史简化规则之后
以上)如果(1)它们被标签引用,或者(2)它们改变了路径的内容
在命令行中给出。 所有其他提交都标记为 TREESAME(受制于
简化了)。

二等分 助手
--二等分
将输出限制为一个提交对象,该对象大约介于包含和
排除提交。 请注意,坏的二分法 refs/bisect/bad 被添加到
包含的提交(如果存在)和好的二等分 refs refs/bisect/good-* 是
添加到排除的提交(如果存在)。 因此,假设没有 refs
参考/平分/,如果

$ git rev-list --bisect foo ^bar ^baz

输出 中点,两个命令的输出

$ git rev-list foo ^中点
$ git rev-list 中点 ^bar ^baz

将大致相同的长度。 找到引入回归的变化
因此被简化为二分搜索:重复生成和测试新的“中点”,直到
提交链的长度为 XNUMX。 不能与 --first-parent 结合使用。

--二等分变量
这与 --bisect 计算相同,除了不使用 refs/bisect/ 中的 refs,
除了这会输出准备由外壳评估的文本。 这些线路将
将中点修订的名称分配给变量 bisect_rev,以及预期的
bisect_rev 测试到 bisect_nr 后要测试的提交数,预期的
如果 bisect_rev 结果对 bisect_good 有益,则要测试的提交数,
如果 bisect_rev 结果不好,则要测试的预期提交次数
bisect_bad,以及我们现在平分到 bisect_all 的提交数量。

--一分为二
这将输出包含和排除的提交之间的所有提交对象,有序
通过它们与包含和排除的提交的距离。 refs/bisect/ 中的引用不是
用过的。 首先显示离它们​​最远的。 (这是唯一显示的
--二等分。)

这很有用,因为它可以很容易地选择一个好的提交来进行测试
避免出于某种原因测试其中的一些(例如,它们可能无法编译)。

此选项可以与 --bisect-vars 一起使用,在这种情况下,在所有排序之后
提交对象,将有相同的文本,就像单独使用 --bisect-vars 一样。

承诺 订购
默认情况下,提交按时间倒序显示。

--日期顺序
在显示所有子项之前不显示父项,否则显示提交
提交时间戳顺序。

--作者日期顺序
在显示所有子项之前不显示父项,否则显示提交
作者时间戳顺序。

--拓扑顺序
在显示所有子项之前不显示父项,并避免显示提交
多条历史线交织在一起。

例如,在这样的提交历史记录中:

----1----2----4----7
\ \

3----5----6----8---
其中数字表示提交时间戳、git rev-list 和朋友的顺序
--date-order 按时间戳顺序显示提交:8 7 6 5 4 3 2 1。

使用 --topo-order,它们会显示 8 6 5 3 7 4 2 1(或 8 7 4 2 6 5 3 1); 一些年长的
提交显示在较新的之前,以避免显示来自两个的提交
并行发展轨迹混杂在一起。

- 逆转
以相反的顺序输出提交。 不能与 --walk-reflogs 结合使用。

摆件 穿越
这些选项主要用于打包 Git 存储库。

--对象
打印列出的提交引用的任何对象的对象 ID。 --objects foo
^bar 因此的意思是“如果我有提交,请将我需要下载的所有对象 ID 发送给我
对象 酒吧 但不 FOO“。

--对象边缘
类似于--objects,但也打印以“-”为前缀的排除提交的ID
特点。 这是由 git-pack-对象(1) 建立一个“瘦”包,其中记录
基于这些被排除的提交中包含的对象的 deltified 形式的对象
减少网络流量。

--对象边缘攻击性
类似于--objects-edge,但它更努力地寻找排除的提交,代价是
增加的时间。 这是用来代替 --objects-edge 来构建“瘦”包的
浅存储库。

--索引对象
假设索引使用的所有树和 blob 都列在命令行中。
请注意,您可能也想使用 --objects。

--未打包
仅对 --objects 有用; 打印不在包中的对象 ID。

--no-walk[=(已排序|未排序)]
只显示给定的提交,但不遍历它们的祖先。 这没有效果
如果指定了范围。 如果给出未排序的参数,则提交显示在
它们在命令行中给出的顺序。 否则(如果已排序或没有参数
给定),提交按提交时间按时间倒序显示。 不可能是
结合--graph。

--做走
覆盖之前的 --no-walk。

承诺 格式化
使用这些选项, git 修订列表(1) 将类似于更专业的家庭
提交日志工具: 混帐日志(1) git 显示(1), git-whatchange(1)

--漂亮[= ], --格式=
以给定的格式漂亮地打印提交日志的内容,其中
之一 一条线, , 中等, , 富勒, email, , 格式:
格式:。 何时 以上都不是,并且有 %占位符 其中,它
表现得好像 --pretty=tformat: 被给予。

有关每种格式的一些其他详细信息,请参阅“漂亮格式”部分。 什么时候
= 部分被省略,它默认为 中等.

注意:您可以在存储库配置中指定默认的漂亮格式(请参阅
混帐配置(1))。

--缩写提交
不显示完整的 40 字节十六进制提交对象名称,只显示一个
部分前缀。 可以使用“--abbrev=”指定非默认位数”
(这也会修改差异输出,如果显示的话)。

这应该使“--pretty = oneline”对于使用的人来说更具可读性
80 列终端。

--无缩写提交
显示完整的 40 字节十六进制提交对象名称。 这否定了 --abbrev-commit 和
那些暗示它的选项,例如“--oneline”。 它也覆盖了
log.abbrevCommit 变量。

- 一条线
这是一起使用的“--pretty=oneline --abbrev-commit”的简写。

--编码=
提交对象在其编码中记录用于日志消息的编码
标题; 此选项可用于告诉命令重新编码提交日志消息
在用户首选的编码中。 对于非管道命令,这默认为
UTF-8。 请注意,如果一个对象声称以 X 编码并且我们以 X 输出,我们
将逐字输出对象; 这意味着原始序列中的无效序列
提交可以复制到输出。

--显示签名
通过将签名传递给 gpg --verify 来检查签名提交对象的有效性
并显示输出。

--相对日期
--date=relative 的同义词。

--日期=
仅对以人类可读格式显示的日期生效,例如使用
- 漂亮。 log.date 配置变量为 log 命令的 --date 设置默认值
选项。 默认情况下,日期显示在原始时区(提交者或
作者)。 如果 -local 附加到格式(例如,iso-local),则用户的本地
改为使用时区。

--date=relative 显示相对于当前时间的日期,例如“2 小时前”。 这
-local 选项不能与 --raw 或 --relative 一起使用。

--date=local 是 --date=default-local 的别名。

--date=iso(或 --date=iso8601)以类似 ISO 8601 的格式显示时间戳。 这
与严格的 ISO 8601 格式的不同之处在于:

· 一个空格而不是 T 日期/时间分隔符

· 时间和时区之间的空间

· 时区的小时和分钟之间没有冒号

--date=iso-strict(或 --date=iso8601-strict)显示严格的 ISO 8601 中的时间戳
格式。

--date=rfc(或 --date=rfc2822)以 RFC 2822 格式显示时间戳,通常在
电子邮件。

--date=short 仅以 YYYY-MM-DD 格式显示日期,而不显示时间。

--date=raw 以内部原始 Git 格式 %s %z 格式显示日期。

--date=format:... 将格式...提供给您的系统 strftime。 使用 --date=format:%c
以系统区域设置的首选格式显示日期。 参见 strftime 手册
格式占位符的完整列表。 使用 -local 时,正确的语法是
--date=本地格式:....

--date=default 是默认格式,和--date=rfc2822类似,有几个
例外情况:

· 星期几后没有逗号

· 使用本地时区时省略时区

--标题
以原始格式打印提交的内容; 每条记录都用 NUL 分隔
字符。

- 父母
还打印提交的父项(以“提交父项...”的形式)。 还启用
父重写,见 发展历程 简单化 联络一位教师

- 孩子们
还打印提交的子项(以“提交子项...”的形式)。 还启用
父重写,见 发展历程 简单化 联络一位教师

--时间戳
打印原始提交时间戳。

- 左右
标记可以从对称差异的哪一侧进行提交。 从左侧提交
边以 < 为前缀,右边以 > 为前缀。 如果结合--boundary,
这些提交以 - 为前缀。

例如,如果您有以下拓扑:

y---b---b 分支 B
/\/
/。
// \
o---x---a---一个分支A

你会得到这样的输出:

$ git rev-list --left-right --boundary --pretty=oneline A...B

> bbbbbbb... 3rd on b
> bbbbbbb... 2nd on b
<aaaaaaa...第三次
<aaaaaaa...第二次
-yyyyyyy... b 上的第一个
-xx... 1 日

- 图形
在左侧绘制提交历史的基于文本的图形表示
的输出。 这可能会导致在提交之间打印额外的行,以便
以正确绘制图形历史记录。 不能与 --no-walk 结合使用。

这使父重写,见 发展历程 简单化 联络一位教师

这意味着默认情况下 --topo-order 选项,但 --date-order 选项也可能
被指定。

--show-linear-break[= ]
当不使用 --graph 时,所有历史分支都会变平,这可能会使其难以
看到两个连续的提交不属于一个线性分支。 这个选项
在这种情况下,它们之间会设置障碍。 如果被指定,它是
将显示的字符串而不是默认的字符串。

- 数数
打印一个数字,说明将列出多少提交,并禁止所有其他提交
输出。 与--left-right 一起使用时,改为打印左和
正确提交,由制表符分隔。 与--cherry-mark一起使用时,省略patch
来自这些计数的等效提交并打印等效提交的计数
由制表符分隔。

漂亮 FORMATS


如果提交是合并,并且不是漂亮格式 一条线, email or ,一个
附加行在前面插入 作者: 线。 这一行以“Merge:”开头,并且
祖先提交的 sha1 被打印出来,用空格分隔。 请注意,列出的
提交可能不一定是 直接 如果您有限制,则父母会提交
您对历史的看法:例如,如果您只对与某项相关的更改感兴趣
某个目录或文件。

有几种内置格式,您可以通过设置一个来定义其他格式
漂亮。 配置选项到另一个格式名称,或 格式: 字符串,如
描述如下(见 混帐配置(1))。 以下是内置格式的详细信息:

· 一条线



这被设计为尽可能紧凑。

·

犯罪
作者:



· 中等

犯罪
作者:
日期:





·

犯罪
作者:
犯罪:





· 富勒

犯罪
作者:
作者日期:
犯罪:
提交日期:





· email


从:
日期:
主题:[补丁]



·

- 格式显示与存储在提交对象中完全相同的整个提交。
值得注意的是,无论是 --abbrev 还是 --abbrev ,SHA-1 都会完整显示
--no-abbrev 被使用,并且 父母 信息显示真正的父提交,没有
考虑到移植或历史简化。 请注意,此格式会影响
显示提交的方式,但不是显示差异的方式,例如使用 git log
- 生的。 要以原始差异格式获取完整的对象名称,请使用 --no-abbrev。

· 格式:

- 格式: 格式允许您指定要显示的信息。
它的工作方式有点像 printf 格式,但有一个明显的例外是你得到一个
换行符 %n 而不是 \n.

例如, 格式:" 作者 of %h %一个, %ar%n该 标题 >>%s<<%n" 会显示
这样的事情:

fe6e0ee 的作者是 Junio C Hamano,23 小时前
标题是 >>t4119: test autocomputing -p 对于传统的差异输入。<

占位符是:

· %H: 提交哈希

· %h: 缩写提交哈希

· %T: 树哈希

· %t: 缩写树哈希

· %P: 父哈希

· %p: 缩写父哈希

· %一个: 作者姓名

· %一个:作者姓名(尊重 .mailmap,见 git 短日志(1)或 怪罪(1))

· %ae: 作者邮箱

· %aE:作者电子邮件(尊重 .mailmap,见 git 短日志(1)或 怪罪(1))

· %广告:作者日期(格式尊重 --date= 选项)

· %广告: 作者日期,RFC2822 风格

· %ar: 作者日期,亲戚

· %在: 作者日期,UNIX 时间戳

· %人工智能: 作者日期,类似 ISO 8601 的格式

· %: 作者日期,严格的 ISO 8601 格式

· %cn: 提交者姓名

· %CN:提交者名称(尊重 .mailmap,请参阅 git 短日志(1)或 怪罪(1))

· %ce: 提交者邮箱

· %cE:提交者电子邮件(尊重 .mailmap,请参阅 git 短日志(1)或 怪罪(1))

· %光盘: 提交者日期(格式尊重 --date= 选项)

· %光盘: 提交者日期,RFC2822 风格

· %cr: 提交者日期,相对

· %ct: 提交者日期,UNIX 时间戳

· %ci: 提交者日期,类似 ISO 8601 的格式

· %cI: 提交者日期,严格的 ISO 8601 格式

· %d: ref 名称,例如 --decorate 选项 混帐日志(1)

· %D: ref 名称没有 " (", ")" 包装。

· %e: 编码

· %s: 主题

· %f: 清理主题行,适用于文件名

· %b: 身体

· %B:原始身体(未包装的主题和身体)

· %GG:来自 GPG 的原始验证消息,用于签名提交

· %G?: 显示“G”代表好的签名,“B”代表坏的签名,“U”代表好的,
不受信任的签名和“N”表示没有签名

· %GS: 显示签名提交的签名者姓名

· %GK: 显示用于签署签名提交的密钥

· %gD: reflog 选择器,例如 refs/stash@{1}

· %gd: 缩短的 reflog 选择器,例如 stash@{1}

· %gn: reflog 身份名称

· %gN: reflog 身份名称(尊重 .mailmap,请参阅 git 短日志(1)或 混帐-
(1))

· %ge: reflog 身份电子邮件

· %gE:reflog 身份电子邮件(尊重 .mailmap,请参阅 git 短日志(1)或 混帐-
(1))

· %gs: reflog 主题

· %信用: 切换颜色为红色

· %C绿色: 切换颜色为绿色

· %C蓝色: 将颜色切换为蓝色

· %克雷塞特: 重置颜色

· %C(...):颜色规范,如 color.branch.* 配置选项中所述; 添加
auto,开始时只有在为日志输出启用颜色时才会发出颜色
(通过 color.diff、color.ui 或 --color,并尊重
前者,如果我们要去一个终端)。 单独的自动(即 %C(auto))将打开
在下一个占位符上自动着色,直到再次切换颜色。

· %m: 左、右或边界标记

· %n: 新队

· %%: 生的 %

· %x00: 从十六进制代码打印一个字节

· %w([ [, [, ]]]): 切换换行,如 -w 选项 混帐-
短日志(1)。

· %<( [,trunc|ltrunc|mtrunc]): 使下一个占位符至少占据 N 列,
如有必要,在右侧填充空格。 可选择在开头截断
(ltrunc)、中间 (mtrunc) 或结尾 (trunc) 如果输出长于 N
列。 请注意,截断仅适用于 N >= 2。

· %<|( ): 使下一个占位符至少占用到第 N 列,填充
如有必要,右侧的空格

· %>( ), %>|( ): 相似 %<( ), %<|( ) 分别,但填充空格
在左边

· %>>( ), %>>|( ): 相似 %>( ), %>|( ) 分别,除了如果
下一个占位符占用的空间比给定的多,并且它的左边有空格,
使用这些空间

· %><( ), %><|( ): 相似 % <( ), %<|( ) 分别,但同时填充
侧面(即文本居中)

备注
某些占位符可能取决于为修订遍历引擎提供的其他选项。
例如,%g* reflog 选项将插入一个空字符串,除非我们是
遍历 reflog 条目(例如,通过 git log -g)。 %d 和 %D 占位符将使用
如果 --decorate 尚未在命令中提供,则为“短”装饰格式
线。

如果在后面添加 +(加号) % 占位符,立即插入换行符
在扩展之前当且仅当占位符扩展为非空字符串时。

如果在后面添加 -(减号) % 占位符,紧接在前面的换行符
当且仅当占位符扩展为空字符串时,扩展才会被删除。

如果在后面加一个``(空格) % 在占位符的前面插入一个空格
扩展当且仅当占位符扩展为非空字符串。

· 格式:

- 格式: 格式完全一样 格式:,除了它提供了“终结者”
语义而不是“分隔符”语义。 换句话说,每个提交都有
附加了消息终止符(通常是换行符),而不是分隔符
放置在条目之间。 这意味着单行格式的最终​​条目将
以新行正确终止,就像“oneline”格式一样。 为了
例:

$ git log -2 --pretty=格式:%h 4da45bef \
| perl -pe '$_ .= " -- NO NEWLINE\n" 除非 /\n/'
4da45be
7134973 -- 没有换行符

$ git log -2 --pretty=tformat:%h 4da45bef \
| perl -pe '$_ .= " -- NO NEWLINE\n" 除非 /\n/'
4da45be
7134973

此外,任何包含 % 的无法识别的字符串都会被解释为
tformat:在它前面。 例如,这两个是等价的:

$ git log -2 --pretty=tformat:%h 4da45bef
$ git log -2 --pretty=%h 4da45bef

GIT


部分 混帐(1) 套房

使用 onworks.net 服务在线使用 git-rev-list


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。