在线文档教程

git hash-object

git-hash-object

命名

git-hash-object - 计算对象ID并可选择从文件创建一个blob

概要

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报告给其标准输出。这用于git cvsimport在不修改工作树中的文件的情况下更新索引。当<type>没有被指定时,它默认为“blob”。

选项

-t <type>

指定类型(默认值:“blob”)。

-w

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

--stdin

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

--stdin-paths

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

--path

哈希对象,因为它位于给定的路径。文件的位置并不直接影响散列值,但路径用于确定在将对象放置到对象数据库之前应该将什么Git过滤器应用到该对象,并且作为应用过滤器的结果,实际的blob放置进入对象数据库可能与给定文件不同。此选项主要用于散列位于工作目录之外的临时文件或从stdin读取的文件。

--no-filters

按原样散列内容,忽略属性机制选择的任何输入过滤器,包括行结束转换。如果文件是从标准输入中读取的,那么这总是隐含的,除非--path给出选项。

--literally

允许--stdin将任何垃圾散列到松散对象中,否则可能不会通过标准对象分析或git-fsck检查。有助于压力测试Git本身或复制在野外遇到的腐败或假物体的特征。