Manchmal arbeitet man an einem Projekt, bei welchem sich
die Quelltexte auf mehrere Git-Repos verteilen. Diese kann
man mittels Git-Submodules zusammenführen.
Ausgangslage
Ich habe ein Git-Projekt “dp-octopress” und möchte in dieses
das Git-Projekt “datenschutz” mit eingebunden haben.
Hintergrund: Beide Projekte enthalten Texte, die auf unserer
Webseite veröffentlicht werden sollen. Ich möchte
eine Duplizierung der Ablageorte vermeiden!
Wenn irgendwo Checkouts von “dp-octopress” existieren, so müssen
diese mit einem speziellen Verfahren aktualisiert werden, damit
sie mit dem neuen Submodul umgehen können:
$ cd dp-octopress
dp-octopress $ git fetch --all -p
dp-octopress $ git status
Auf Branch master
Ihr Branch ist 22 Commits hinter 'origin/master', und kann vorgespult werden.
(benutzen Sie "git pull", um Ihren lokalen Branch zu aktualisieren)nichts zu committen, Arbeitsverzeichnis unverändert
dp-octopress $ git pull
Aktualisiere dad0a29..b2c0bbe
Fast-forward
.gitmodules | 3 +++
source/_posts/2020-05-29-ubuntu-2004-arbeitsplatz.md | 13 +++++++++++++
source/_posts/2020-06-29-ubuntu-workspaces.md | 6 ++++++
source/_posts/2020-07-02-ubuntu-luks-multi.md | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
source/_posts/2020-07-08-crt-in-jks.md | 31 +++++++++++++++++++++++++++++++
source/dsm-intern/datenschutz | 1 +
source/dsm-intern/index.html | 11 +++++++++++
source/dsm-intern/index.md | 0
source/images/ubuntu-desktop.png | Bin 0 -> 463944 bytes
9 files changed, 180 insertions(+) create mode 100644 .gitmodules
create mode 100644 source/_posts/2020-07-02-ubuntu-luks-multi.md
create mode 100644 source/_posts/2020-07-08-crt-in-jks.md
create mode 160000 source/dsm-intern/datenschutz
create mode 100644 source/dsm-intern/index.html
create mode 100644 source/dsm-intern/index.md
create mode 100644 source/images/ubuntu-desktop.png
# Die Zeile mit ".gitmodules" deutet darauf hin, dass man was mit Submodules machen muss!dp-octopress $ git submodule update
Submodul-Pfad: 'source/dsm': 'c39992c0aa6ee3e6bdc1bfb448c7e0a129a4075e' ausgecheckt
Aktualisieren ohne Submodules
1
git pull
Aktualisieren mit Submodules
12
git pull
git submodule update
Arbeit mit den Repos
Die beiden Repos
dp-octopress
datenschutz
können weitgehend unabhängig voneinander
bearbeitet werden. Änderungen an “datenschutz”
fliessen nicht nicht automatisch
in “dp-octopress” ein!
Aktualisieren des Submodules
12345
git submodule foreach git pull
# Prüfen: Passen die Änderungen? "Funktioniert" dp-octpress mit dem neuen Stand von datenschutz?# Falls: Ja/ja -> weiter!git commit -m "dsm aktualisiert" .
git push