简体中文 ▾ 主题 ▾ 最新版本 ▾ git-hash-object 最后更新于 2.43.0

名称

git-hash-object - 计算对象 ID,并可选地从文件创建对象

概要

git hash-object [-t <type>] [-w] [--path=<file> | --no-filters]
		[--stdin [--literally]] [--] <file>…​
git hash-object [-t <type>] [-w] --stdin-paths [--no-filters]

描述

使用指定文件的内容(可以在工作区之外)计算指定类型对象的对象 ID 值,并可选地将生成的对象写入对象数据库。将其对象 ID 报告给标准输出。未指定 <type> 时,默认为 "blob"。

选项

-t <type>

指定要创建的对象类型(默认值:"blob")。可能的值包括 committreeblobtag

-w

实际将对象写入对象数据库。

--stdin

从标准输入而不是从文件读取对象。

--stdin-paths

从标准输入读取文件名(每行一个),而不是从命令行读取。

--path

假设对象位于给定路径进行哈希。文件的位置不直接影响哈希值,但该路径用于确定在将对象存入对象数据库之前应应用哪些 Git 过滤器。由于应用了过滤器,放入对象数据库的实际 blob 可能与给定文件不同。此选项主要用于对位于工作目录之外的临时文件或从标准输入读取的文件进行哈希。

--no-filters

按原样对内容进行哈希,忽略由属性机制选择的任何输入过滤器,包括换行符转换。如果文件是从标准输入读取的,除非给出了 --path 选项,否则始终隐含此操作。

--literally

允许 --stdin 将任何无用数据哈希为松散对象,这些数据可能无法通过标准的解析或 git-fsck 检查。这对于对 Git 本身进行压力测试或重现实际遇到的损坏或虚假对象的特征非常有用。

GIT

Git[1] 套件的一部分