Verzeichnis suchen
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
Figuren

名称

git-remote-ext  - 将智能传输桥接到外部命令。

概要

git remote add <nick> "ext::<command>[ <arguments>…]"

描述

此远程助手使用指定<command>的连接到远程Git服务器。

写入指定stdin的数据<command>被假定为发送到git://server,git-upload-pack,git-receive-pack或git-upload-archive(取决于具体情况),以及从stdout <命令>被认为是从同一个服务接收的。

命令和参数由未转义的空格分隔。

以下序列具有特殊含义:

'% '

命令或论点中的文字空间。

%%

文字百分号。

%s

替换为Git希望调用的服务的名称(接收包,上传包或上传存档)。

%S

替换为Git想要调用的服务的长名称(git-receive-pack,git-upload-pack或git-upload-archive)。

%G(必须是参数中的第一个字符)

这个参数不会传递给<command>。相反,它会使助手开始发送git://服务请求到远程端,并将服务字段设置为适当的值,并将信息库字段设置为参数的其余部分。默认不发送这样的请求。

如果远程端是通过某个隧道访问的git://服务器,这很有用。

%V(必须是参数中的第一个字符)

这个参数不会传递给<command>。相反,它将ghost://服务请求中的虚拟主机字段(设置为参数的其余部分)。默认不发送虚拟主机在这样的请求(如果发送)。

环境变量:

GIT_TRANSLOOP_DEBUG

如果设置,则打印关于各种读取/写入的调试信息。

传递给命令的环境变量:

GIT_EXT_SERVICE

设置为服务助手需要调用的长名称(git-upload-pack等)。

GIT_EXT_SERVICE_NOPREFIX

设置为服务助手需要调用的长名称(上传包等)。

示例:

当您使用诸如“git fetch <URL>”,“git clone <URL>”,“git push <URL>”或“git remote add <nick> <URL>”之类的命令时,Git透明地使用此远程助手。 ,其中<URL>开头ext::。例子:

"ext::ssh -i /home/foo/.ssh/somekey user@host.example %S foo/repo"

像host.example:foo/repo,但使用/home/foo/.ssh/somekey作为密钥对,用户使用远程端的用户。这避免了需要编辑.ssh/config。

"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo"

使用git协议在抽象名称空间地址/git-server上代表具有path/somerepo的存储库。

"ext::git-server-alias foo %G/repo"

表示使用助手程序“git-server-alias foo”访问path/repo的存储库。存储库的路径和请求的类型不像命令行那样传递,而是作为协议流的一部分,像通常一样使用git://协议。

"ext::git-server-alias foo %G/repo %Vfoo"

表示使用助手程序“git-server-alias foo”访问path/repo的存储库。在协议流中传递的远程服务器的主机名将是“foo”(这允许多个虚拟Git服务器共享链接级地址)。

"ext::git-server-alias foo %G/repo% with% spaces %Vfoo"

表示具有/repo with spaces使用助手程序“git-server-alias foo”访问的路径的存储库。在协议流中传递的远程服务器的主机名将是“foo”(这允许多个虚拟Git服务器共享链接级地址)。

"ext::git-ssl foo.example /bar"

表示使用助手程序“git-ssl foo.example/bar”访问的存储库。请求的类型可以由帮助程序使用环境变量确定(参见上文)。

另请参阅

gitremote-helpers[1]

Vorheriger Artikel: Nächster Artikel: