?
This document uses PHP Chinese website manual Release
名稱
git-remote-ext - 將智能傳輸橋接到外部命令。
git remote add <nick> "ext::<command>[ <arguments>…]"
此遠(yuǎn)程助手使用指定<command>
的連接到遠(yuǎn)程Git服務(wù)器。
寫入指定stdin的數(shù)據(jù)<command>
被假定為發(fā)送到git://server,git-upload-pack,git-receive-pack或git-upload-archive(取決于具體情況),以及從stdout <命令>被認(rèn)為是從同一個(gè)服務(wù)接收的。
命令和參數(shù)由未轉(zhuǎn)義的空格分隔。
以下序列具有特殊含義:
'% '
命令或論點(diǎn)中的文字空間。
%%
文字百分號。
%s
替換為Git希望調(diào)用的服務(wù)的名稱(接收包,上傳包或上傳存檔)。
%S
替換為Git想要調(diào)用的服務(wù)的長名稱(git-receive-pack,git-upload-pack或git-upload-archive)。
%G(必須是參數(shù)中的第一個(gè)字符)
這個(gè)參數(shù)不會(huì)傳遞給<command>
。相反,它會(huì)使助手開始發(fā)送git://服務(wù)請求到遠(yuǎn)程端,并將服務(wù)字段設(shè)置為適當(dāng)?shù)闹?,并將信息庫字段設(shè)置為參數(shù)的其余部分。默認(rèn)不發(fā)送這樣的請求。
如果遠(yuǎn)程端是通過某個(gè)隧道訪問的git://服務(wù)器,這很有用。
%V(必須是參數(shù)中的第一個(gè)字符)
這個(gè)參數(shù)不會(huì)傳遞給<command>
。相反,它將ghost://服務(wù)請求中的虛擬主機(jī)字段(設(shè)置為參數(shù)的其余部分)。默認(rèn)不發(fā)送虛擬主機(jī)在這樣的請求(如果發(fā)送)。
GIT_TRANSLOOP_DEBUG
如果設(shè)置,則打印關(guān)于各種讀取/寫入的調(diào)試信息。
GIT_EXT_SERVICE
設(shè)置為服務(wù)助手需要調(diào)用的長名稱(git-upload-pack等)。
GIT_EXT_SERVICE_NOPREFIX
設(shè)置為服務(wù)助手需要調(diào)用的長名稱(上傳包等)。
當(dāng)您使用諸如“git fetch <URL>”,“git clone <URL>”,“git push <URL>”或“git remote add <nick> <URL>”之類的命令時(shí),Git透明地使用此遠(yuǎn)程助手。 ,其中<URL>開頭ext::
。例子:
"ext::ssh -i /home/foo/.ssh/somekey user@host.example %S foo/repo"
像host.example:foo/repo,但使用/home/foo/.ssh/somekey作為密鑰對,用戶使用遠(yuǎn)程端的用戶。這避免了需要編輯.ssh/config。
"ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo"
使用git協(xié)議在抽象名稱空間地址/git-server上代表具有path/somerepo的存儲(chǔ)庫。
"ext::git-server-alias foo %G/repo"
表示使用助手程序“git-server-alias foo”訪問path/repo的存儲(chǔ)庫。存儲(chǔ)庫的路徑和請求的類型不像命令行那樣傳遞,而是作為協(xié)議流的一部分,像通常一樣使用git://協(xié)議。
"ext::git-server-alias foo %G/repo %Vfoo"
表示使用助手程序“git-server-alias foo”訪問path/repo的存儲(chǔ)庫。在協(xié)議流中傳遞的遠(yuǎn)程服務(wù)器的主機(jī)名將是“foo”(這允許多個(gè)虛擬Git服務(wù)器共享鏈接級地址)。
"ext::git-server-alias foo %G/repo% with% spaces %Vfoo"
表示具有/repo with spaces
使用助手程序“git-server-alias foo”訪問的路徑的存儲(chǔ)庫。在協(xié)議流中傳遞的遠(yuǎn)程服務(wù)器的主機(jī)名將是“foo”(這允許多個(gè)虛擬Git服務(wù)器共享鏈接級地址)。
"ext::git-ssl foo.example /bar"
表示使用助手程序“git-ssl foo.example/bar”訪問的存儲(chǔ)庫。請求的類型可以由幫助程序使用環(huán)境變量確定(參見上文)。
gitremote-helpers[1]