English ▾ Themen ▾ Neueste Version ▾ git-remote-ext zuletzt aktualisiert in 2.43.0

NAME

git-remote-ext - Brücke für Smart-Transport zu externen Befehlen.

SYNOPSIS

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

BESCHREIBUNG

Diese Remote-Hilfe verwendet den angegebenen <Befehl>, um eine Verbindung zu einem entfernten Git-Server herzustellen.

Daten, die an stdin des angegebenen <Befehl> geschrieben werden, werden angenommen, dass sie an einen git:// Server, git-upload-pack, git-receive-pack oder git-upload-archive (je nach Situation) gesendet werden, und Daten, die von stdout von <Befehl> gelesen werden, werden angenommen, dass sie vom selben Dienst empfangen werden.

Befehl und Argumente werden durch ein nicht maskiertes Leerzeichen getrennt.

Die folgenden Sequenzen haben eine besondere Bedeutung

'% '

Literales Leerzeichen im Befehl oder Argument.

%%

Literales Prozentzeichen.

%s

Ersetzt durch den Namen (receive-pack, upload-pack oder upload-archive) des Dienstes, den Git aufrufen möchte.

%S

Ersetzt durch den Langnamen (git-receive-pack, git-upload-pack oder git-upload-archive) des Dienstes, den Git aufrufen möchte.

%G (muss das erste Zeichen in einem Argument sein)

Dieses Argument wird nicht an <Befehl> übergeben. Stattdessen veranlasst es die Hilfe, damit zu beginnen, git://-Dienst-Anfragen an die Remote-Seite zu senden, wobei das Dienstfeld auf einen geeigneten Wert und das Repository-Feld auf den Rest des Arguments gesetzt wird. Standardmäßig wird keine solche Anfrage gesendet.

Dies ist nützlich, wenn die Remote-Seite ein git://-Server ist, der über einen Tunnel erreicht wird.

%V (muss das erste Zeichen in einem Argument sein)

Dieses Argument wird nicht an <Befehl> übergeben. Stattdessen setzt es das vhost-Feld in der git://-Dienst-Anfrage (auf den Rest des Arguments). Standardmäßig wird kein vhost in einer solchen Anfrage gesendet (wenn sie gesendet wird).

UMGEBUNGSVARIABLEN

GIT_TRANSLOOP_DEBUG

Wenn gesetzt, werden Debugging-Informationen über verschiedene Lese-/Schreibvorgänge ausgegeben.

AN DEN BEFEHL ÜBERGEBENE UMGEBUNGSVARIABLEN

GIT_EXT_SERVICE

Auf den Langnamen (git-upload-pack, etc.) des Dienstes gesetzt, den die Hilfe aufrufen muss.

GIT_EXT_SERVICE_NOPREFIX

Auf den Langnamen (upload-pack, etc.) des Dienstes gesetzt, den die Hilfe aufrufen muss.

BEISPIELE

Diese Remote-Hilfe wird transparent von Git verwendet, wenn Sie Befehle wie "git fetch <URL>", "git clone <URL>", "git push <URL>" oder "git remote add <nick> <URL>" verwenden, wobei <URL> mit ext:: beginnt. Beispiele

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

Ähnlich wie host.example:foo/repo, aber verwendet /home/foo/.ssh/somekey als Schlüsselpaar und user als Benutzer auf der Remote-Seite. Dies vermeidet die Notwendigkeit, .ssh/config zu bearbeiten.

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

Stellt ein Repository mit dem Pfad /somerepo dar, das über das Git-Protokoll unter der abstrakten Namespace-Adresse /git-server zugänglich ist.

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

Stellt ein Repository mit dem Pfad /repo dar, das über das Hilfsprogramm "git-server-alias foo" aufgerufen wird. Der Pfad zum Repository und die Art der Anfrage werden nicht über die Befehlszeile übergeben, sondern als Teil des Protokollstroms, wie üblich beim git://-Protokoll.

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

Stellt ein Repository mit dem Pfad /repo dar, das über das Hilfsprogramm "git-server-alias foo" aufgerufen wird. Der Hostname für den entfernten Server, der im Protokollstrom übergeben wird, ist "foo" (dies ermöglicht mehreren virtuellen Git-Servern, sich eine Link-Level-Adresse zu teilen).

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

Stellt ein Repository mit dem Pfad /repo mit Leerzeichen dar, das über das Hilfsprogramm "git-server-alias foo" aufgerufen wird. Der Hostname für den entfernten Server, der im Protokollstrom übergeben wird, ist "foo" (dies ermöglicht mehreren virtuellen Git-Servern, sich eine Link-Level-Adresse zu teilen).

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

Stellt ein Repository dar, das über das Hilfsprogramm "git-ssl foo.example /bar" aufgerufen wird. Die Art der Anfrage kann vom Hilfsprogramm anhand von Umgebungsvariablen (siehe oben) ermittelt werden.

GIT

Teil der git[1] Suite