directory search
Guides gitattributes giteveryday gitglossary gitignore gitmodules gitrevisions gittutorial gitworkflows Administration git archive git bundle git clean git filter-branch git fsck git gc git instaweb git reflog Basic Snapshotting git add git commit git diff git mv git reset git rm git status Branching and Merging git branch git checkout git log git merge git mergetool git stash git tag Debugging git bisect git blame git grep Email git am git format-patch git request-pull git send-email External Systems git fast-import git svn Getting and Creating Projects git clone git init Git git annotate git archimport git bisect-lk2009 git check-attr git check-mailmap git check-ref-format git checkout-index git cherry git citool git column git credential git credential-cache git credential-store git cvsexportcommit git cvsimport git cvsserver git diff-files git diff-tree git difftool git fast-export git fetch-pack git fmt-merge-msg git get-tar-commit-id git gui git http-backend git http-fetch git http-push git imap-send git index-pack git interpret-trailers git ls-remote git ls-tree git mailinfo git mailsplit git merge-file git merge-index git merge-one-file git merge-tree git mktag git mktree git name-rev git notes git p4 git pack-objects git pack-redundant git pack-refs git parse-remote git patch-id git prune git prune-packed git quiltimport git receive-pack git remote-ext git remote-fd git remote-testgit git repack git replace git rerere git send-pack git sh-i18n git sh-setup git shell git show-branch git show-index git stripspace git unpack-file git unpack-objects git upload-archive git upload-pack git var git verify-commit git verify-tag git whatchanged git worktree Inspection and Comparison git describe git shortlog git show Miscellaneous api credentials api index gitcli gitcore tutorial gitcredentials gitcvs migration gitdiffcore githooks gitk gitnamespaces gitremote helpers gitrepository layout gitsubmodules gittutorial 2 gitweb gitweb.conf pack format User Manual Patching git apply git cherry-pick git rebase git revert Plumbing Commands git cat-file git check-ignore git commit-tree git count-objects git diff-index git for-each-ref git hash-object git ls-files git merge-base git read-tree git rev-list git rev-parse git show-ref git symbolic-ref git update-index git update-ref git verify-pack git write-tree Server Admin git daemon git update-server-info Setup and Config git git config git help Sharing and Updating Projects git fetch git pull git push git remote git submodule
characters

命名

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本身或复制在野外遇到的腐败或假物体的特征。

Previous article: Next article: