目录搜索
GuidesgitattributesgiteverydaygitglossarygitignoregitmodulesgitrevisionsgittutorialgitworkflowsAdministrationgit archivegit bundlegit cleangit filter-branchgit fsckgit gcgit instawebgit reflogBasic Snapshottinggit addgit commitgit diffgit mvgit resetgit rmgit statusBranching and Merginggit branchgit checkoutgit loggit mergegit mergetoolgit stashgit tagDebugginggit bisectgit blamegit grepEmailgit amgit format-patchgit request-pullgit send-emailExternal Systemsgit fast-importgit svnGetting and Creating Projectsgit clonegit initGitgit annotategit archimportgit bisect-lk2009git check-attrgit check-mailmapgit check-ref-formatgit checkout-indexgit cherrygit citoolgit columngit credentialgit credential-cachegit credential-storegit cvsexportcommitgit cvsimportgit cvsservergit diff-filesgit diff-treegit difftoolgit fast-exportgit fetch-packgit fmt-merge-msggit get-tar-commit-idgit guigit http-backendgit http-fetchgit http-pushgit imap-sendgit index-packgit interpret-trailersgit ls-remotegit ls-treegit mailinfogit mailsplitgit merge-filegit merge-indexgit merge-one-filegit merge-treegit mktaggit mktreegit name-revgit notesgit p4git pack-objectsgit pack-redundantgit pack-refsgit parse-remotegit patch-idgit prunegit prune-packedgit quiltimportgit receive-packgit remote-extgit remote-fdgit remote-testgitgit repackgit replacegit rereregit send-packgit sh-i18ngit sh-setupgit shellgit show-branchgit show-indexgit stripspacegit unpack-filegit unpack-objectsgit upload-archivegit upload-packgit vargit verify-commitgit verify-taggit whatchangedgit worktreeInspection and Comparisongit describegit shortloggit showMiscellaneousapi credentialsapi indexgitcligitcore tutorialgitcredentialsgitcvs migrationgitdiffcoregithooksgitkgitnamespacesgitremote helpersgitrepository layoutgitsubmodulesgittutorial 2gitwebgitweb.confpack formatUser ManualPatchinggit applygit cherry-pickgit rebasegit revertPlumbing Commandsgit cat-filegit check-ignoregit commit-treegit count-objectsgit diff-indexgit for-each-refgit hash-objectgit ls-filesgit merge-basegit read-treegit rev-listgit rev-parsegit show-refgit symbolic-refgit update-indexgit update-refgit verify-packgit write-treeServer Admingit daemongit update-server-infoSetup and Configgitgit configgit helpSharing and Updating Projectsgit fetchgit pullgit pushgit remotegit submodule
文字

名称

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]

上一篇:下一篇: