Einrichtung und Konfiguration
Projekte holen und erstellen
Grundlegende Snapshots
Branching und Merging
Projekte teilen und aktualisieren
Inspektion und Vergleich
Patching
Debugging
Externe Systeme
Server-Administration
Anleitungen
- gitattributes
- Konventionen der Kommandozeile
- Tägliches Git
- Häufig gestellte Fragen (FAQ)
- Glossar
- Hooks
- gitignore
- gitmodules
- Revisionen
- Submodule
- Tutorial
- Workflows
- Alle Anleitungen...
Administration
Plumbing-Befehle
- 2.42.1 → 2.52.0 keine Änderungen
-
2.42.0
2023-08-21
- 2.32.1 → 2.41.3 keine Änderungen
-
2.32.0
2021-06-06
- 2.30.2 → 2.31.8 keine Änderungen
-
2.30.1
2021-02-08
- 2.28.1 → 2.30.0 keine Änderungen
-
2.28.0
2020-07-27
- 2.25.1 → 2.27.1 keine Änderungen
-
2.25.0
2020-01-13
- 2.24.2 → 2.24.4 keine Änderungen
-
2.24.1
2019-12-06
-
2.24.0
2019-11-04
- 2.23.2 → 2.23.4 keine Änderungen
-
2.23.1
2019-12-06
-
2.23.0
2019-08-16
- 2.22.3 → 2.22.5 keine Änderungen
-
2.22.2
2019-12-06
- 2.22.1 keine Änderungen
-
2.22.0
2019-06-07
- 2.21.2 → 2.21.4 keine Änderungen
-
2.21.1
2019-12-06
-
2.21.0
2019-02-24
- 2.20.3 → 2.20.5 keine Änderungen
-
2.20.2
2019-12-06
- 2.20.1 keine Änderungen
-
2.20.0
2018-12-09
- 2.19.4 → 2.19.6 keine Änderungen
-
2.19.3
2019-12-06
-
2.19.2
2018-11-21
- 2.19.1 keine Änderungen
-
2.19.0
2018-09-10
- 2.18.3 → 2.18.5 keine Änderungen
-
2.18.2
2019-12-06
- 2.18.1 keine Änderungen
-
2.18.0
2018-06-21
- 2.17.4 → 2.17.6 keine Änderungen
-
2.17.3
2019-12-06
- 2.17.1 → 2.17.2 keine Änderungen
-
2.17.0
2018-04-02
- 2.16.6 keine Änderungen
-
2.15.4
2019-12-06
- 2.14.6 keine Änderungen
-
2.13.7
2018-05-22
- 2.11.4 → 2.12.5 keine Änderungen
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
- 2.4.12 → 2.8.6 keine Änderungen
-
2.3.10
2015-09-28
- 2.1.4 → 2.2.3 keine Änderungen
-
2.0.5
2014-12-17
BESCHREIBUNG
Die Datei .gitmodules, die sich im Stammverzeichnis eines Git-Arbeitsbaums befindet, ist eine Textdatei mit einer Syntax, die den Anforderungen von git-config[1] entspricht.
Die Datei enthält pro Submodul einen Unterabschnitt, und der Wert des Unterabschnitts ist der Name des Submoduls. Der Name wird auf den Pfad gesetzt, in dem das Submodul hinzugefügt wurde, es sei denn, er wurde mit der Option --name von git submodule add angepasst. Jeder Submodulabschnitt enthält auch die folgenden erforderlichen Schlüssel
- submodule.<name>.path
-
Definiert den Pfad relativ zum Stammverzeichnis des Git-Arbeitsbaums, in dem das Submodul ausgecheckt werden soll. Der Pfadname darf nicht mit einem
/enden. Alle Submodulpfade müssen innerhalb der.gitmodulesDatei eindeutig sein. - submodule.<name>.url
-
Definiert eine URL, von der das Submodul-Repository geklont werden kann. Dies kann entweder eine absolute URL sein, die direkt an git-clone[1] übergeben werden kann, oder (wenn sie mit
./oder../beginnt) ein Ort relativ zum Ursprungs-Repository des Superprojekts.
Zusätzlich gibt es eine Reihe von optionalen Schlüsseln
- submodule.<name>.update
-
Definiert das Standard-Update-Verfahren für das benannte Submodul, d. h. wie das Submodul durch den Befehl
gitsubmoduleupdateim Superprojekt aktualisiert wird. Dies wird nur vongitsubmoduleinitverwendet, um die gleichnamige Konfigurationsvariable zu initialisieren. Zulässige Werte sind hier checkout, rebase, merge oder none, aber nicht !command (aus Sicherheitsgründen). Weitere Details finden Sie in der Beschreibung des update-Befehls in git-submodule[1]. - submodule.<name>.branch
-
Ein Remote-Branch-Name zur Verfolgung von Updates im Upstream-Submodul. Wenn die Option nicht angegeben ist, wird standardmäßig der Remote
HEADverwendet. Ein spezieller Wert von.wird verwendet, um anzuzeigen, dass der Name des Branches im Submodul derselbe Name wie der aktuelle Branch im aktuellen Repository sein soll. Details finden Sie in der Dokumentation zu--remotein git-submodule[1]. - submodule.<name>.fetchRecurseSubmodules
-
Diese Option kann verwendet werden, um das rekursive Abrufen dieses Submoduls zu steuern. Wenn diese Option auch im Eintrag des Submoduls in
.git/configdes Superprojekts vorhanden ist, überschreibt die dortige Einstellung diejenige, die in.gitmodulesgefunden wurde. Beide Einstellungen können auf der Kommandozeile durch die Option--[no-]recurse-submoduleszugitfetchundgitpullüberschrieben werden. - submodule.<name>.ignore
-
Definiert, unter welchen Umständen
gitstatusund die Diff-Familie ein Submodul als modifiziert anzeigen. Folgende Werte werden unterstützt- all
-
Das Submodul wird niemals als modifiziert betrachtet (wird aber dennoch in der Ausgabe von Status und Commit angezeigt, wenn es gestaged wurde).
- dirty
-
Alle Änderungen im Arbeitsbaum des Submoduls werden ignoriert. Nur committete Unterschiede zwischen dem
HEADdes Submoduls und seinem aufgezeichneten Zustand im Superprojekt werden berücksichtigt. - untracked
-
Nur nicht verfolgte Dateien in Submodulen werden ignoriert. Committete Unterschiede und Änderungen an verfolgten Dateien werden angezeigt.
- none
-
Es werden keine Änderungen an Submodulen ignoriert. Alle committeten Unterschiede sowie Änderungen an verfolgten und nicht verfolgten Dateien werden angezeigt. Dies ist die Standardoption.
Wenn diese Option auch im Eintrag des Submoduls in
.git/configdes Superprojekts vorhanden ist, überschreibt die dortige Einstellung diejenige, die in.gitmodulesgefunden wurde.Beide Einstellungen können auf der Kommandozeile durch die Option
--ignore-submodulesüberschrieben werden. Diegitsubmodule-Befehle werden von dieser Einstellung nicht beeinflusst. - submodule.<name>.shallow
-
Wenn auf true gesetzt, wird ein Klon dieses Submoduls als flacher Klon (mit einer Historientiefe von 1) durchgeführt, es sei denn, der Benutzer fordert explizit einen nicht-flachen Klon an.
ANMERKUNGEN
Git erlaubt nicht, dass die .gitmodules Datei innerhalb eines Arbeitsbaums ein symbolischer Link ist, und weigert sich, solche Baum-Einträge auszuchecken. Dies hält das Verhalten konsistent, wenn die Datei aus dem Index oder einem Baum im Gegensatz zum Dateisystem zugegriffen wird, und hilft Git, Sicherheitsüberprüfungen des Dateiinhalts zuverlässig durchzusetzen.
BEISPIELE
Betrachten Sie die folgende .gitmodules Datei
[submodule "libfoo"] path = include/foo url = git://foo.com/git/lib.git [submodule "libbar"] path = include/bar url = git://bar.com/git/lib.git
Dies definiert zwei Submodule, libfoo und libbar. Diese sollen in den Pfaden include/foo und include/bar ausgecheckt werden, und für beide Submodule ist eine URL angegeben, die zum Klonen der Submodule verwendet werden kann.
GIT
Teil der git[1] Suite