On this page
11.11. Datei- und Konfigurationsrevisionen mit Git verwalten
Verwenden Sie das Revisionskontrollwerkzeug Git, um Revisionen der Dateien und der Konfiguration Ihrer Website zu verwalten.
- Abschnitt 3.2, „Konzept: Zusätzliche Werkzeuge“
- Abschnitt 3.3, „Konzept: Methoden zum Herunterladen und Installieren des Kernsystems“
- Abschnitt 11.7, „Konzept: Entwicklungs-Websites“
- Wie man eine Git-Repository einrichtet und deren Klon-URL herausfindet. Wenn Sie beispielsweise GitLab verwenden möchten, um Ihre Repository zu hosten. Siehe: GitLab.com „Ein Projekt erstellen (englisch)" und GitLab.com „Grundlegende Befehle für die Kommandozeile (englisch)". Wenn Sie GitHub verwenden möchten, um Ihr Repository zu hosten, lesen Sie: GitHub - Eine Repository erstellen (englisch)" und GitHub - Welche Remote-URL soll ich verwenden (englisch)".
- Wie man ein Kommandozeilen-Fenster und einen Klartext-Editor öffnet und benutzt.
- Wie man die Konfiguration verwaltet.
- Wie man Archivdateien (wie z. B. .zip- und .tar.gz-Dateien) entpackt und erstellt.
- Sie müssen die Software für Ihre Website mittels einer der Methoden im Kapitel Abschnitt 3.3, „Konzept: Methoden zum Herunterladen und Installieren des Kernsystems“ heruntergeladen haben. Wenn Sie die Konfiguration verwalten möchten, müssen Sie die Software installiert haben und über eine funktionsfähige Website verfügen.
- Die Git-Client-Software muss auf dem Server installiert sein, auf dem Ihre Website gehostet ist. Siehe: Git (englisch) für weitere Informationen.
- Sie müssen eine neue Repository erstellt haben und deren Git-Klon-URL kennen.
Führen Sie diese Schritte einmal durch, nachdem Sie eine Git-Repository erstellt haben, um lokale Verzeichnisse mit der Repository zu verbinden und die darin enthaltenen Dateien hinzuzufügen.
- Öffnen Sie ein Kommandozeilenfenster und wechseln Sie in das Verzeichnis, in dem sich die Dateien der Website befinden. Dies ist das „Hauptverzeichnis" der Installation.
- Ermitteln Sie, wo sich das Hauptverzeichnis Ihrer Website befindet. Wenn sich die Verzeichnisse Core, Modules und Themes direkt in diesem Verzeichnis befinden, dann befinden Sie sich im Hauptverzeichnis Ihrer Installation. Wenn Sie Composer zum Herunterladen der Software verwendet haben, befinden sich diese Daten im Unterverzeichnis web (dies ist das Hauptverzeichnis Ihrer Website).
- Erstellen Sie mit einem einfachen Texteditor eine neue Datei namens .gitignore, innerhalb des Hauptverzeichnisses Ihrer Website (oder bearbeiten Sie diese Datei, wenn sie bereits existiert). Die Datei enthält eine Liste von Dateien und Verzeichnissen, die Git ignorieren (nicht zur Repository hinzufügen) soll. Zum Beispiel sollte die Datei settings.php nicht zur Git-Repository hinzugefügt werden, weil diese die Daten enthält, mit denen sich die Website an Ihrer Datenbank authentifiziert. Die Dateien, die die Medienelemente der Website enthalten (normalerweise werden diese Dateien im Verzeichnis sites/default/files abgelegt) sollten auch nicht teil der Git-Repository sein. Ihr Ziel ist es, die Software in die Repository zu laden, nicht den Inhalt der Website.
Stellen Sie sicher, dass die Datei .gitignore folgende Zeilen enthält. Wenn Ihr Hauptverzeichnis nicht die oberste Ebene ihrer Dateistruktur ist, überprüfen Sie jedes dieser Verzeichnisse, um festzustellen ob Sie ein Präfix angeben müssen. Eventuell müssen Sie Sites möglicherweise durch web/sites ersetzen.
sites/*/settings*.php sites/*/files config
Geben Sie die folgenden Befehle ein:
git init git add -A
Optional können Sie die Liste der Dateien überprüfen, die Ihrer Git-Repository hinzugefügt werden, indem Sie folgenden Befehl eingeben und durch die (sehr lange) Liste scrollen:
git status
Geben Sie die folgenden Befehle ein. Wenn Sie mögen, können Sie Ihre eigene Commit Message einsetzen. Z. B. „Initialer Commit". Die URL im zweiten Befehl unten muss mit der URL ihrer eigenen Git-Repository ersetzt werden.
git commit -m "Dateien zum ersten mal hinzugefügt" git remote add origin https://gitlab.com/example-name/example-repo.git git push -u origin master
- Wenn Sie GitLab, GitHub oder einen anderen Host mit Online-Zugang verwenden, können Sie nun die Seite Ihrer Repository aufrufen und nachdem der Vorgang abgeschlossen wurde überprüfen ob Ihre Dateien dort vorhanden sind.
Führen Sie folgende Schritte aus, wenn Sie eine oder mehrere Dateien innerhalb Ihrer Website aktualisiert, hinzugefügt oder gelöscht haben um die Änderungen ( mittels der Kommandozeilenoption push) an Ihre Repository zu senden.
- Öffnen Sie ein Terminal bzw. eine Eingabeaufforderung und wechseln Sie in das Verzeichnis, dass die Dateien ihrer Website enthält.
Überprüfen Sie die Liste der Dateien, die hinzugefügt, geändert oder gelöscht wurden:
git status
Für Textdateien, die geändert wurden (keine Bilder), können Sie optional die Unterschiede zwischen der neuen und der alten Version einer Datei anzeigen lassen:
git diff Pfad/zur/Datei.txt
Stellen Sie alle Änderungen für die nächste Übergabe bereit und vergewissern Sie sich, dass sie durchgeführt werden:
git add -A git status
Sie können eine bestimmte Datei von der Übergabe ausschließen. Auch dann, wenn diese sich bereits in der Liste der zu übergebenden Dateien befindet. Sie können auch weitere Verzeichnisse oder Dateien zur Übergabeliste hinzufügen. Wenn eine bestimmte Datei oder ein bestimmtes Verzeichnis versehentlich immer wieder zur Übergabe vorgeschlagen wird, sollten Sie in Erwägung ziehen, der Datei .gitignore einen entsprechenden Eintrag hinzuzufügen, so dass das jeweilige Element zukünftig von Git ignoriert wird.
git reset HEAD path/to/file.txt (Datei/Verzeichnis ausschließen) git add pfad/zur/datei.txt (Datei/Verzeichnis hinzufügen)
Übergeben Sie die Liste der Änderungen an die Repository (commit) und führen Sie das Hochladen der Dateien aus (push). Ersetzen Sie die Angabe zu den durchgeführten Änderungen durch etwas sinnvolles:
git commit -m "Angabe zu den durchgeführten Änderungen" git push
Wenn Sie weitere Kopien Ihrer Repository haben, aktualisieren Sie diese, indem Sie ein Kommandozeilenfenster in jedem Verzeichnis öffnen, dass eine Kopie Ihrer Repository enthält und führen Sie folgenden Befehl aus:
git pull
Befolgen Sie diese Schritte, wenn Sie alle Dateien innerhalb ihrer Repository auf eine neue Umgebung übertragen wollen. Beispielsweise könnten Sie sowohl eine lokale Entwicklungskopie Ihrer Website und einer Live-Website Besitzen. In größeren Teams können auch mehrere Team-Mitglieder eine lokale Kopie der Website an verschiedenen Standorten verwalten.
- Öffnen Sie ein Terminal/eine Eingabeaufforderung in dem Verzeichnis, in das Sie die Dateien herunterladen möchten.
Geben Sie den folgenden Befehl ein und ersetzen Sie die Klon-URL Ihrer Repository durch die URL und den Namen des Unterverzeichnisses, in das sie die Repository klonen möchten, als Verzeichnisname:
git-clone https://gitlab.com/example-name/example-repo.git Verzeichnisname
- Folgen Sie den Anweisungen in Abschnitt 11.10, „Synchronisieren von Konfigurationsversionen“, um ein vollständiges Archiv der Konfiguration Ihrer Website zu erstellen.
- Wenn Sie die Konfiguration in der Repository nicht bereits initialisiert haben, entpacken Sie das Konfigurationsarchiv in ein neues Verzeichnis, vorzugsweise oberhalb des Hauptverzeichnisses Ihrer Website. Folgen Sie anschließend den oben stehenden Anweisungen, um die Dateien zu Ihrer Repository hinzuzufügen.
- Wenn sich zukünftig die Konfiguration Ihrer Website nach der Initialisierung Ihrer Git-Repository ändert, exportieren Sie jedesmal das Konfigurationsarchiv und entpacken Sie es an der gleichen Stelle. Folgen Sie den Anweisungen oben, um diese Dateien in Ihrer Repository zu aktualisieren.
- Um eine aktualisierte Konfiguration in eine andere Website zu importieren, erstellen Sie ein Archiv des Konfigurationsverzeichnisses in Ihrer Repository. Folgen Sie dann den Anweisungen in Abschnitt 11.10, „Synchronisieren von Konfigurationsversionen“ um dieses Archiv hoch zu laden und in die neue Website zu importieren.
Abschnitt 11.7, „Konzept: Entwicklungs-Websites“
Mitwirkende
Adaptiert und herausgegeben von Jennifer Hodgdon von „Aufbau einer Drupal-Site mit Git (englisch)", copyright 2000 - 2025 liegt bei den einzelnen Mitwirkenden an der Dokumentation der Drupal-Community.
Ins Deutsche übersetzt von Joachim Namyslo.
Source file: extend-git.asciidoc
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion