这是 git-cat-file 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
git-cat-file - 提供存储库对象的内容或类型和大小信息
概要
混帐 猫文件 (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | | --textconv )
混帐 猫文件 (--batch | --batch-check) [--follow-symlinks]
商品描述
在它的第一种形式中,该命令提供了对象的内容或类型
存储库。 该类型是必需的,除非 -t or -p 用于查找对象类型,或 -s is
用于查找对象大小,或 --文本转换 被使用(这意味着类型“blob”)。
在第二种形式中,stdin 上提供了一个对象列表(由换行符分隔),并且
每个对象的 SHA-1、类型和大小都打印在标准输出上。
配置
要显示的对象的名称。 有关拼写 object 的更完整方法列表
名称,请参阅“规范修订”部分 git 修订版(7)。
-t
显示标识的对象类型而不是内容.
-s
而不是内容,显示由标识的对象大小.
-e
抑制所有输出; 而是以零状态退出,如果存在并且是有效的
目的。
-p
漂亮打印的内容根据其类型。
通常这与实际类型匹配但要求一种可以
轻松地从给定的也是允许的。 一个例子是
求一棵“树” 是一个包含它的提交对象,或者要求一个
“斑点”与是指向它的标记对象。
--文本转换
显示由 textconv 过滤器转换的内容。 在这种情况下, 已经是
表格: , 或者 : 为了将过滤器应用于内容
记录在索引中.
--batch, --batch=
打印 stdin 上提供的每个对象的对象信息和内容。 未必
结合任何其他选项或参数。 请参阅下面的批处理输出部分
细节。
--batch-check, --batch-check=
为 stdin 上提供的每个对象打印对象信息。 不能与
任何其他选项或参数。 有关详细信息,请参阅下面的批处理输出部分。
--批处理所有对象
执行请求的批处理操作,而不是读取 stdin 上的对象列表
在存储库中的所有对象和任何备用对象存储上(不仅仅是可访问的
对象)。 需要指定 --batch 或 --batch-check 。 请注意,对象是
按哈希排序的顺序访问。
- 缓冲
通常在输出每个对象后刷新批处理输出,以便进程可以
交互式地从 cat 文件中读取和写入。 使用此选项,输出使用正常
stdio 缓冲; 这在对大文件调用 --batch-check 时效率更高
对象的数量。
--allow-未知类型
允许 -s 或 -t 查询未知类型的损坏/损坏对象。
--跟随符号链接
使用 --batch 或 --batch-check,在请求时遵循存储库内的符号链接
具有形式为 tree-ish:path-in-tree 的扩展 SHA-1 表达式的对象。 代替
提供有关链接本身的输出,提供有关链接对象的输出。 如果
符号链接指向树外(例如指向 /foo 的链接或指向
../foo),将打印在树外部的链接部分。
当索引中的对象是
指定(例如:link 而不是 HEAD:link)而不是树中的一个。
除非使用--batch 或--batch-check,否则无法(当前)使用此选项。
例如,考虑一个包含以下内容的 git 存储库:
f:包含“hello\n”的文件
链接:指向 f 的符号链接
目录/链接:指向 ../f 的符号链接
plink: ../f 的符号链接
alink: 一个符号链接 / etc / passwd文件
对于普通文件 f,echo HEAD:f | git cat-file --batch 会打印
ce013625030ba8dba906f756967f9e9ca394464a blob 6
并回显 HEAD:link | git cat-file --batch --follow-symlinks 将打印相同的
事情,就像 HEAD:dir/link 一样,因为它们都指向 HEAD:f。
如果没有 --follow-symlinks,这些将打印有关符号链接本身的数据。 在里面
HEAD:link 的情况,你会看到
4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1
plink 和 alink 都指向树外,因此它们将分别打印:
符号链接 4
../F
符号链接 11
/ etc / passwd文件
OUTPUT
If -t 指定,其中之一.
If -s 指定的大小以字节为单位。
If -e 指定,没有输出。
If -p 被指定,内容印刷精美。
如果指定,原始(尽管未压缩)的内容将会
回。
批量 OUTPUT
如果给出 --batch 或 --batch-check ,则 cat-file 将从 stdin 读取对象,每行一个,
并打印有关它们的信息。 默认情况下,整条线被视为一个对象,
好像被喂给了 git-rev-解析(1)。
您可以使用自定义指定为每个对象显示的信息. 这
被逐字复制到每个对象的标准输出,带有形式的占位符
%(atom) 扩展,后跟换行符。 可用的原子是:
对象名
对象的 40 进制对象名称。
对象类型
对象的类型(与 cat-file -t 报告相同)。
对象大小
对象的大小(以字节为单位)(与 cat-file -s 报告相同)。
对象大小:磁盘
对象在磁盘上占用的大小(以字节为单位)。 请参阅有关磁盘大小的说明
在下面的警告部分。
增量库
如果对象存储为磁盘上的增量,这将扩展为 40-hex sha1
增量基础对象。 否则,扩展为空 sha1(40 个零)。 请参阅下面的注意事项。
其余
如果在输出字符串中使用此原子,则输入行在第一行被拆分
空白边界。 该空格之前的所有字符都被视为
对象名称; 在第一次空格之后的字符(即,
line) 代替 %(rest) 原子输出。
如果未指定格式,则默认格式为 %(objectname) %(objecttype)
%(对象大小)。
如果指定--batch,则对象信息后跟对象内容
(由 %(objectsize) 字节组成),后跟换行符。
例如,没有自定义格式的 --batch 会产生:
服务提供商服务提供商如果
如果
而 --batch-check='%(objectname) %(objecttype)' 会产生:
服务提供商如果
如果在标准输入上指定的名称无法解析为存储库中的对象,
然后 cat-file 将忽略任何自定义格式并打印:
SP 缺少 LF
如果使用 --follow-symlinks,并且存储库中的符号链接指向外部
存储库,然后 cat-file 将忽略任何自定义格式并打印:
符号链接SP 如果
如果
符号链接要么是绝对的(以 / 开头),要么是相对于树根的。
例如,如果 dir/link 指向 ../../foo,那么将是 ../foo. 是
符号链接的大小(以字节为单位)。
如果使用--follow-symlinks,将显示以下错误信息:
SP 缺少 LF
当请求的初始符号链接不存在时打印。
悬空的SP 如果
如果
当初始符号链接存在时打印,但它(传递)指向的东西
没有。
循环SP 如果
如果
为符号链接循环(或任何需要 40 多个链接分辨率的符号链接)打印
解决)。
非目录 SP 如果
如果
在符号链接解析期间,将文件用作目录名称时打印。
洞穴
请注意,磁盘上对象的大小是准确报告的,但应注意
在得出关于哪些引用或对象负责磁盘使用的结论时。 这
打包的非增量对象的大小可能远大于增量对象的大小
反对它,但是选择哪个对象是基础,哪个是增量是任意的
并且在重新包装期间可能会发生变化。
另请注意,对象数据库中可能存在对象的多个副本; 在这
在这种情况下,未定义将报告哪个副本的大小或增量基数。
GIT
部分 混帐(1) 套房
使用 onworks.net 服务在线使用 git-cat-file