git hash-object
优质
小牛编辑
129浏览
2023-12-01
命名
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本身或复制在野外遇到的腐败或假物体的特征。