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-upload-archive  - 将归档发送回 git-archive

概要

git upload-archive <directory>

描述

通过Git协议调用git archive --remote并将生成的存档发送到另一端。

该命令通常不由最终用户直接调用。该协议的用户界面位于git archive侧面,程序对旨在用于从远程存储库获取存档。

安全

为了保护已从历史记录中删除但尚未修剪过的对象的隐私,请git-upload-archive避免提供无法从存储库引用中访问的提交和树的归档文件。但是,因为计算对象可达性在计算上很昂贵,所以git-upload-archive实现了一组更严格但更易于检查的规则:

  • 客户可以请求一个提交或直接指向ref的树。例如,git archive --remote=origin v1.0

  • 客户可以使用ref:path语法在提交或树中请求子树。例如,git archive --remote=origin v1.0:Documentation

  • 即使最终结果可达,客户端也可以not使用其他 sha1 表达式。例如,即使结果可从 ref 中获得,也不允许类似master^相对提交,也不允许使用类似abcd1234文字 sha1 。

请注意,规则3不允许许多不涉及隐私影响的情况。这些规则在未来版本的 git 中可能会发生变化,并且访问的服务器git archive --remote可能会或可能不遵循这些准确的规则。

如果 config 选项uploadArchive.allowUnreachable为 true,这些规则将被忽略,客户端可以使用任意 sha1 表达式。如果您不关心无法访问的对象的隐私,或者您的对象数据库已公开可通过非智能 http 访问,这非常有用。

选项

<directory>

从中获取 tar 归档的存储库。

Previous article: Next article: