English ▾ Themen ▾ Neueste Version ▾ git-clone zuletzt aktualisiert in 2.52.0

NAME

git-clone - Ein Repository in ein neues Verzeichnis klonen

SYNOPSIS

git clone [--template=<template-directory>]
	  [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
	  [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
	  [--dissociate] [--separate-git-dir <git-dir>]
	  [--depth <depth>] [--[no-]single-branch] [--[no-]tags]
	  [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
	  [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--[no-]reject-shallow]
	  [--filter=<filter-spec> [--also-filter-submodules]] [--] <repository>
	  [<directory>]

BESCHREIBUNG

Klont ein Repository in ein neu erstelltes Verzeichnis, erstellt Remote-Tracking-Zweige für jeden Zweig im geklonten Repository (sichtbar mit git branch --remotes) und erstellt und checkt einen initialen Zweig aus, der vom aktuell aktiven Zweig des geklonten Repositorys abgezweigt wird.

Nach dem Klonen aktualisiert ein einfaches git fetch ohne Argumente alle Remote-Tracking-Zweige, und ein git pull ohne Argumente wird zusätzlich den Remote-Master-Zweig in den aktuellen Master-Zweig mergen, falls vorhanden (dies ist falsch, wenn --single-branch angegeben ist; siehe unten).

Diese Standardkonfiguration wird erreicht, indem Referenzen auf die Remote-Branch-Heads unter refs/remotes/origin erstellt und die Konfigurationsvariablen remote.origin.url und remote.origin.fetch initialisiert werden.

OPTIONEN

-l
--local

Wenn sich das zu klonende Repository auf einem lokalen Rechner befindet, umgeht diese Option den normalen "Git-fähigen" Transportmechanismus und klont das Repository, indem es eine Kopie von HEAD und allem unter den Verzeichnissen objects und refs erstellt. Die Dateien unter dem Verzeichnis .git/objects/ werden nach Möglichkeit hartverknüpft, um Speicherplatz zu sparen.

Wenn das Repository als lokaler Pfad angegeben wird (z. B. /path/to/repo), ist dies die Standardeinstellung und --local ist im Wesentlichen eine No-Op. Wenn das Repository als URL angegeben wird, wird diese Option ignoriert (und wir verwenden nie die lokalen Optimierungen). Die Angabe von --no-local überschreibt die Standardeinstellung, wenn /path/to/repo angegeben wird, und verwendet stattdessen den regulären Git-Transport.

Wenn das Verzeichnis $GIT_DIR/objects des Repositorys symbolische Links enthält oder ein symbolischer Link ist, schlägt der Klon fehl. Dies ist eine Sicherheitsmaßnahme, um die unbeabsichtigte Kopie von Dateien durch Dereferenzierung der symbolischen Links zu verhindern.

Diese Option funktioniert aus Sicherheitsgründen nicht mit Repositorys, die anderen Benutzern gehören. --no-local muss angegeben werden, damit der Klon erfolgreich ist.

HINWEIS: Dieser Vorgang kann mit gleichzeitigen Änderungen am Quell-Repository in Konflikt geraten, ähnlich wie beim Ausführen von cp -r <src> <dst> während <src> geändert wird.

--no-hardlinks

Erzwingt, dass der Klonvorgang von einem Repository auf einem lokalen Dateisystem die Dateien im Verzeichnis .git/objects kopiert, anstatt Hardlinks zu verwenden. Dies kann wünschenswert sein, wenn Sie ein Backup Ihres Repositorys erstellen möchten.

-s
--shared

Wenn sich das zu klonende Repository auf dem lokalen Rechner befindet, wird anstelle der Verwendung von Hardlinks automatisch .git/objects/info/alternates eingerichtet, um die Objekte mit dem Quell-Repository zu teilen. Das resultierende Repository beginnt ohne eigene Objekte.

HINWEIS: Dies ist ein möglicherweise gefährlicher Vorgang; verwenden Sie ihn nicht, es sei denn, Sie verstehen, was er tut. Wenn Sie Ihr Repository mit dieser Option klonen und dann Zweige löschen (oder einen anderen Git-Befehl verwenden, der einen vorhandenen Commit nicht mehr referenziert) im Quell-Repository, können einige Objekte nicht mehr referenziert werden (oder sind verwaist). Diese Objekte können durch normale Git-Operationen (wie z. B. git commit) entfernt werden, die automatisch git maintenance run --auto aufrufen. (Siehe git-maintenance[1].) Wenn diese Objekte entfernt werden und vom geklonten Repository referenziert wurden, wird das geklonte Repository beschädigt.

Beachten Sie, dass das Ausführen von git repack ohne die Option --local in einem mit --shared geklonten Repository Objekte aus dem Quell-Repository in ein Packfile im geklonten Repository kopiert, wodurch die Platzersparnis von clone --shared aufgehoben wird. Es ist jedoch sicher, git gc auszuführen, das standardmäßig die Option --local verwendet.

Wenn Sie die Abhängigkeit eines mit --shared geklonten Repositorys von seinem Quell-Repository aufheben möchten, können Sie einfach git repack -a ausführen, um alle Objekte aus dem Quell-Repository in ein Packfile im geklonten Repository zu kopieren.

--reference[-if-able] <repository>

Wenn sich die Referenz <repository> auf dem lokalen Rechner befindet, wird automatisch .git/objects/info/alternates eingerichtet, um Objekte aus der Referenz <repository> zu beziehen. Die Verwendung eines bereits vorhandenen Repositorys als Alternativquelle erfordert weniger Objekte, die vom zu klonenden Repository kopiert werden müssen, was die Netzwerk- und lokalen Speicherkosten reduziert. Bei Verwendung von --reference-if-able wird ein nicht vorhandenes Verzeichnis mit einer Warnung übersprungen, anstatt den Klon abzubrechen.

HINWEIS: siehe die HINWEIS für die Option --shared und auch die Option --dissociate.

--dissociate

Leihen Sie sich die Objekte von mit den --reference Optionen angegebenen Referenz-Repositorys nur zur Reduzierung der Netzwerkübertragung aus und hören Sie auf, von ihnen zu leihen, nachdem ein Klon erstellt wurde, indem Sie die notwendigen lokalen Kopien der geliehenen Objekte erstellen. Diese Option kann auch beim lokalen Klonen von einem Repository verwendet werden, das bereits Objekte von einem anderen Repository leiht — das neue Repository wird Objekte vom selben Repository leihen, und diese Option kann verwendet werden, um das Leihen zu beenden.

-q
--quiet

Leise arbeiten. Der Fortschritt wird nicht auf dem Standardfehlerausgabestrom berichtet.

-v
--verbose

Ausführlich ausführen. Beeinflusst nicht die Berichterstattung des Fortschrittsstatus auf dem Standardfehlerausgabestrom.

--progress

Der Fortschrittsstatus wird standardmäßig auf dem Standardfehlerausgabestrom berichtet, wenn dieser mit einem Terminal verbunden ist, es sei denn, --quiet wird angegeben. Diese Option erzwingt den Fortschrittsstatus auch dann, wenn der Standardfehlerausgabestrom nicht auf ein Terminal umgeleitet wird.

--server-option=<option>

Überträgt die angegebene Zeichenkette an den Server bei der Kommunikation über Protokollversion 2. Die angegebene Zeichenkette darf kein NUL- oder LF-Zeichen enthalten. Die Behandlung von Serveroptionen durch den Server, einschließlich unbekannter, ist serverspezifisch. Wenn mehrere --server-option=<option> angegeben werden, werden sie alle in der auf der Befehlszeile angegebenen Reihenfolge an die Gegenseite gesendet. Wenn von der Befehlszeile keine --server-option=<option> angegeben wird, werden stattdessen die Werte der Konfigurationsvariable remote.<name>.serverOption verwendet.

-n
--no-checkout

Nach Abschluss des Klons wird kein Checkout von HEAD durchgeführt.

--[no-]reject-shallow

Schlägt fehl, wenn das Quell-Repository ein flaches Repository ist. Die Konfigurationsvariable clone.rejectShallow kann verwendet werden, um die Standardeinstellung festzulegen.

--bare

Erstellt ein *bare* Git-Repository. Das heißt, anstatt <directory> zu erstellen und die Verwaltungsdateien in <directory>/.git abzulegen, wird <directory> selbst zum $GIT_DIR. Dies impliziert offensichtlich --no-checkout, da es keinen Ort gibt, an dem der Arbeitsbaum ausgecheckt werden kann. Auch die Branch-Heads im Remote werden direkt zu entsprechenden lokalen Branch-Heads kopiert, ohne sie nach refs/remotes/origin/ zu mappen. Wenn diese Option verwendet wird, werden weder Remote-Tracking-Zweige noch die zugehörigen Konfigurationsvariablen erstellt.

--sparse

Verwendet einen Sparse-Checkout, bei dem zunächst nur Dateien im obersten Verzeichnis vorhanden sind. Der Befehl git-sparse-checkout[1] kann verwendet werden, um das Arbeitsverzeichnis bei Bedarf zu erweitern.

--filter=<filter-spec>

Verwendet die partielle Klonfunktion und fordert den Server auf, eine Teilmenge der erreichbaren Objekte gemäß einem gegebenen Objektfilter zu senden. Bei Verwendung von --filter wird der angegebene <filter-spec> für den Filter des partiellen Klons verwendet. Zum Beispiel filtert --filter=blob:none alle Blobs (Dateiinhalte) heraus, bis sie von Git benötigt werden. Ebenso filtert --filter=blob:limit=<size> alle Blobs heraus, deren Größe mindestens <size> beträgt. Weitere Details zu Filter-Spezifikationen finden Sie in der Option --filter in git-rev-list[1].

--also-filter-submodules

Wendet den Filter für partielle Klone auch auf alle Submodule im Repository an. Erfordert --filter und --recurse-submodules. Dies kann durch Setzen der Konfigurationsoption clone.filterSubmodules standardmäßig aktiviert werden.

--mirror

Richtet einen Spiegel des Quell-Repositorys ein. Dies impliziert --bare. Im Vergleich zu --bare bildet --mirror nicht nur lokale Zweige der Quelle auf lokale Zweige des Ziels ab, sondern bildet alle Refs (einschließlich Remote-Tracking-Zweige, Notizen usw.) ab und richtet eine Ref-Spezifikation ein, sodass alle diese Refs durch ein git remote update im Ziel-Repository überschrieben werden.

-o <name>
--origin <name>

Anstatt des Remote-Namens origin zu verwenden, um das Upstream-Repository zu verfolgen, wird <name> verwendet. Überschreibt clone.defaultRemoteName aus der Konfiguration.

-b <name>
--branch <name>

Anstatt HEAD auf den Zweig zu setzen, auf den der HEAD des geklonten Repositorys zeigt, wird stattdessen auf den <name>-Zweig gezeigt. In einem nicht-bare Repository ist dies der Zweig, der ausgecheckt wird. --branch kann auch Tags übernehmen und den HEAD an diesem Commit im resultierenden Repository abkoppeln.

--revision=<rev>

Erstellt ein neues Repository und holt nur die Historie, die zu der angegebenen Revision <rev> führt, ohne einen Remote-Tracking-Zweig zu erstellen, ohne einen lokalen Zweig zu erstellen und den HEAD auf <rev> abzukoppeln. Das Argument kann ein Ref-Name sein (z. B. refs/heads/main oder refs/tags/v1.0), der zu einem Commit abgerollt wird, oder ein hexadezimaler Objektname. Diese Option ist inkompatibel mit --branch und --mirror.

-u <upload-pack>
--upload-pack <upload-pack>

Wenn angegeben und das zu klonende Repository über ssh angesprochen wird, gibt dies einen nicht standardmäßigen Pfad für den auf der Gegenseite ausgeführten Befehl an.

--template=<template-directory>

Gibt das Verzeichnis an, aus dem Vorlagen verwendet werden sollen; (siehe Abschnitt "TEMPLATE DIRECTORY" von git-init[1].)

-c <key>=<value>
--config <key>=<value>

Setzt eine Konfigurationsvariable im neu erstellten Repository; dies wird sofort wirksam, nachdem das Repository initialisiert wurde, aber bevor die Remote-Historie abgerufen oder Dateien ausgecheckt wurden. Der <key> hat das gleiche Format wie von git-config[1] erwartet (z. B. core.eol=true). Wenn mehrere Werte für denselben Schlüssel angegeben werden, wird jeder Wert in die Konfigurationsdatei geschrieben. Dies macht es beispielsweise sicher, zusätzliche Fetch-Refspecs zum Origin-Remote hinzuzufügen.

Aufgrund von Einschränkungen der aktuellen Implementierung werden einige Konfigurationsvariablen erst nach dem anfänglichen Fetch und Checkout wirksam. Konfigurationsvariablen, von denen bekannt ist, dass sie nicht wirksam werden, sind: remote.<name>.mirror und remote.<name>.tagOpt. Verwenden Sie stattdessen die entsprechenden Optionen --mirror und --no-tags.

--depth <depth>

Erstellt einen *shallow* Clone mit einer Historie, die auf die angegebene Anzahl von Commits gekürzt ist. Impliziert --single-branch, es sei denn, --no-single-branch wird angegeben, um die Historien nahe der Spitzen aller Zweige abzurufen. Wenn Sie Submodule flach klonen möchten, übergeben Sie auch --shallow-submodules.

--shallow-since=<date>

Erstellt einen flachen Clone mit einer Historie nach dem angegebenen Zeitpunkt.

--shallow-exclude=<ref>

Erstellt einen flachen Clone mit einer Historie, die Commits ausschließt, die von einem angegebenen Remote-Zweig oder Tag erreichbar sind. Diese Option kann mehrmals angegeben werden.

--single-branch
--no-single-branch

Klonen Sie nur die Historie, die zur Spitze eines einzelnen Zweigs führt, entweder angegeben durch die Option --branch oder den primären Zweig, auf den der Remote-HEAD zeigt. Weitere Fetches in das resultierende Repository aktualisieren nur den Remote-Tracking-Zweig für den Zweig, für den diese Option beim anfänglichen Klonen verwendet wurde. Wenn der HEAD im Remote beim --single-branch Klon nicht auf einen Zweig zeigte, wird kein Remote-Tracking-Zweig erstellt.

--tags
--no-tags

Steuert, ob Tags geklont werden sollen oder nicht. Wenn --no-tags angegeben wird, wird die Option permanent, indem die Konfiguration remote.<remote>.tagOpt=--no-tags gesetzt wird. Dies stellt sicher, dass zukünftige git pull und git fetch keinen Tags folgen werden. Explizite Tag-Fetches werden weiterhin funktionieren (siehe git-fetch[1]).

Standardmäßig werden Tags geklont, und die Übergabe von --tags ist daher typischerweise eine No-Op, es sei denn, sie hebt ein vorheriges --no-tags auf.

Kann in Verbindung mit --single-branch verwendet werden, um einen Zweig ohne Referenzen außer einem einzelnen geklonten Zweig zu klonen und zu pflegen. Dies ist z. B. nützlich, um minimale Klone des Standardzweigs eines Repositorys für die Indexierung von Suchen zu pflegen.

--recurse-submodules[=<pathspec>]

Nachdem der Klon erstellt wurde, werden Submodule basierend auf dem angegebenen <pathspec> initialisiert und geklont. Wenn kein =<pathspec> angegeben wird, werden alle Submodule initialisiert und geklont. Diese Option kann mehrmals für Pfadangaben, die aus mehreren Einträgen bestehen, angegeben werden. Der resultierende Klon hat submodule.active auf die angegebene Pfadangabe gesetzt, oder "." (bedeutet alle Submodule), wenn keine Pfadangabe angegeben wurde.

Submodule werden mit ihren Standardeinstellungen initialisiert und geklont. Dies entspricht dem Ausführen von git submodule update --init --recursive <pathspec> unmittelbar nach Abschluss des Klons. Diese Option wird ignoriert, wenn das geklonte Repository keinen Arbeitsbaum/Checkout hat (d. h. wenn eine der Optionen --no-checkout/-n, --bare oder --mirror angegeben ist)

--shallow-submodules
--no-shallow-submodules

Alle geklonten Submodule werden flach mit einer Tiefe von 1 sein.

--remote-submodules
--no-remote-submodules

Alle geklonten Submodule verwenden den Status des Remote-Tracking-Zweigs des Submoduls, um das Submodul zu aktualisieren, anstatt den vom Superprojekt aufgezeichneten SHA-1. Entspricht dem Übergeben von --remote an git submodule update.

--separate-git-dir=<git-dir>

Anstatt das geklonte Repository dort abzulegen, wo es hingehört, wird das geklonte Repository im angegebenen Verzeichnis abgelegt und dann ein dateisystem-unabhängiger Git-Symbollink dorthin erstellt. Das Ergebnis ist, dass das Git-Repository vom Arbeitsbaum getrennt werden kann.

--ref-format=<ref-format>

Gibt das angegebene Ref-Speicherformat für das Repository an. Die gültigen Werte sind

  • files für lose Dateien mit "packed-refs". Dies ist der Standardwert.

  • reftable für das Reftable-Format. Dieses Format ist experimentell und seine Interna können sich ändern.

-j <n>
--jobs <n>

Die Anzahl der gleichzeitig abgerufenen Submodule. Standard ist die Option submodule.fetchJobs.

<repository>

Das (möglicherweise entfernte) <repository>, das geklont werden soll. Siehe den Abschnitt GIT URLS unten für weitere Informationen zur Angabe von Repositorys.

<directory>

Der Name eines neuen Verzeichnisses, in das geklont werden soll. Der "humanish"-Teil des Quell-Repositorys wird verwendet, wenn kein <directory> explizit angegeben wird (repo für /path/to/repo.git und foo für host.xz:foo/.git). Das Klonen in ein vorhandenes Verzeichnis ist nur erlaubt, wenn das Verzeichnis leer ist.

--bundle-uri=<uri>

Bevor vom Remote abgerufen wird, wird ein Bundle von der angegebenen <uri> abgerufen und die Daten in das lokale Repository entpackt. Die Refs im Bundle werden unter dem versteckten Namespace refs/bundle/* gespeichert. Diese Option ist inkompatibel mit --depth, --shallow-since und --shallow-exclude.

GIT URLS

Im Allgemeinen enthalten URLs Informationen über das Transportprotokoll, die Adresse des Remote-Servers und den Pfad zum Repository. Abhängig vom Transportprotokoll können einige dieser Informationen fehlen.

Git unterstützt ssh, git, http und https Protokolle (zusätzlich können ftp und ftps zum Abrufen verwendet werden, aber das ist ineffizient und veraltet; verwenden Sie sie nicht).

Der native Transport (d.h. git:// URL) führt keine Authentifizierung durch und sollte mit Vorsicht in ungesicherten Netzwerken verwendet werden.

Die folgenden Syntaxe können damit verwendet werden

  • ssh://[<user>@]<host>[:<port>]/<pfad-zum-git-repo>

  • git://<host>[:<port>]/<pfad-zum-git-repo>

  • http[s]://<host>[:<port>]/<pfad-zum-git-repo>

  • ftp[s]://<host>[:<port>]/<pfad-zum-git-repo>

Eine alternative scp-ähnliche Syntax kann auch mit dem ssh-Protokoll verwendet werden

  • [<user>@]<host>:/<pfad-zum-git-repo>

Diese Syntax wird nur erkannt, wenn keine Schrägstriche vor dem ersten Doppelpunkt stehen. Dies hilft, einen lokalen Pfad, der einen Doppelpunkt enthält, zu unterscheiden. Zum Beispiel kann der lokale Pfad foo:bar als absoluter Pfad oder ./foo:bar angegeben werden, um eine Fehlinterpretation als ssh-URL zu vermeiden.

Die Protokolle ssh und git unterstützen zusätzlich die Erweiterung von ~<username>

  • ssh://[<user>@]<host>[:<port>]/~<user>/<pfad-zum-git-repo>

  • git://<host>[:<port>]/~<user>/<pfad-zum-git-repo>

  • [<user>@]<host>:~<user>/<pfad-zum-git-repo>

Für lokale Repositories, die ebenfalls nativ von Git unterstützt werden, können die folgenden Syntaxe verwendet werden

  • /pfad/zu/repo.git/

  • file:///pfad/zu/repo.git/

Diese beiden Syntaxen sind weitgehend äquivalent, mit dem Unterschied, dass die erstere die Option --local impliziert.

git clone, git fetch und git pull, aber nicht git push, akzeptieren auch eine geeignete Bundle-Datei. Siehe git-bundle[1].

Wenn Git ein bestimmtes Transportprotokoll nicht handhaben kann, versucht es, den Remote-Helfer remote-<transport> zu verwenden, falls einer existiert. Um explizit einen Remote-Helfer anzufordern, kann die folgende Syntax verwendet werden

  • <transport>::<adresse>

wobei <adresse> ein Pfad, ein Server und Pfad oder eine beliebige URL-ähnliche Zeichenkette sein kann, die vom spezifischen aufgerufenen Remote-Helfer erkannt wird. Siehe gitremote-helpers[7] für Details.

Wenn es eine große Anzahl ähnlich benannter Remote-Repositories gibt und Sie ein anderes Format dafür verwenden möchten (so dass die von Ihnen verwendeten URLs in URLs umgeschrieben werden, die funktionieren), können Sie einen Konfigurationsabschnitt der Form erstellen

	[url "<actual-url-base>"]
		insteadOf = <other-url-base>

Zum Beispiel, mit diesem

	[url "git://git.host.xz/"]
		insteadOf = host.xz:/path/to/
		insteadOf = work:

eine URL wie "work:repo.git" oder "host.xz:/path/to/repo.git" wird in jedem Kontext, der eine URL entgegennimmt, zu "git://git.host.xz/repo.git" umgeschrieben.

Wenn Sie URLs nur für Push-Operationen umschreiben möchten, können Sie einen Konfigurationsabschnitt der Form erstellen

	[url "<actual-url-base>"]
		pushInsteadOf = <other-url-base>

Zum Beispiel, mit diesem

	[url "ssh://example.org/"]
		pushInsteadOf = git://example.org/

eine URL wie "git://example.org/path/to/repo.git" wird für Push-Operationen zu "ssh://example.org/path/to/repo.git" umgeschrieben, aber Pull-Operationen verwenden weiterhin die ursprüngliche URL.

BEISPIELE

  • Von Upstream klonen

    $ git clone git://git.kernel.org/pub/scm/.../linux.git my-linux
    $ cd my-linux
    $ make
  • Einen lokalen Klon erstellen, der vom aktuellen Verzeichnis aus leiht, ohne Dinge auszuchecken

    $ git clone -l -s -n . ../copy
    $ cd ../copy
    $ git show-branch
  • Von Upstream klonen, während von einem vorhandenen lokalen Verzeichnis ausgeliehen wird

    $ git clone --reference /git/linux.git \
    	git://git.kernel.org/pub/scm/.../linux.git \
    	my-linux
    $ cd my-linux
  • Ein Bare-Repository erstellen, um Ihre Änderungen öffentlich zu machen

    $ git clone --bare -l /home/proj/.git /pub/scm/proj.git
  • Ein lokales Repository von einem anderen Benutzer klonen

    $ git clone --no-local /home/otheruser/proj.git /pub/scm/proj.git

KONFIGURATION

Alles unterhalb dieser Zeile in diesem Abschnitt wird selektiv aus der git-config[1]-Dokumentation übernommen. Der Inhalt ist derselbe wie dort zu finden.

init.templateDir

Gibt das Verzeichnis an, aus dem Vorlagen kopiert werden sollen. (Siehe Abschnitt "TEMPLATE DIRECTORY" von git-init[1].)

init.defaultBranch

Ermöglicht die Überschreibung des Standardzweignamens, z. B. beim Initialisieren eines neuen Repositorys.

init.defaultObjectFormat

Ermöglicht die Überschreibung des Standard-Objektformats für neue Repositories. Siehe --object-format= in git-init[1]. Sowohl die Befehlszeilenoption als auch die Umgebungsvariable GIT_DEFAULT_HASH haben Vorrang vor dieser Konfiguration.

init.defaultRefFormat

Ermöglicht die Überschreibung des Standard-Ref-Speicherformats für neue Repositories. Siehe --ref-format= in git-init[1]. Sowohl die Befehlszeilenoption als auch die Umgebungsvariable GIT_DEFAULT_REF_FORMAT haben Vorrang vor dieser Konfiguration.

clone.defaultRemoteName

Der Name des Remote, der beim Klonen eines Repositorys erstellt wird. Standard ist origin. Er kann durch Angabe der Befehlszeilenoption --origin überschrieben werden.

clone.rejectShallow

Verweigert das Klonen eines Repositorys, wenn es sich um ein flaches Repository handelt; dies kann durch Angabe der Option --reject-shallow auf der Befehlszeile überschrieben werden.

clone.filterSubmodules

Wenn ein Filter für partielle Klone angegeben ist (siehe --filter in git-rev-list[1]) und --recurse-submodules verwendet wird, wird der Filter auch auf Submodule angewendet.

GIT

Teil der git[1] Suite