Git befehle
Git – Docker Services versionieren
Diese Anleitung beschreibt den Workflow, um Konfigurationsdateien von Docker-Services sicher in einem Git-Repository (z. B. Gitea) zu versionieren.
1. Vorbereitung: Ignorierte Dateien prüfen
Bevor Dateien hinzugefügt werden, muss sichergestellt werden, dass die `.gitignore` den Upload nicht blockiert.
Wechsel in das Verzeichnis des Services
cd ~/docker/{{folder}}
Prüfung der Ignorier-Regeln
cat .gitignore
Häufige Blocker in der .gitignore:
- `config/` (ignoriert den gesamten Ordner)
- `*.yaml` oder `*.yml` (ignoriert alle Konfigurationsdateien)
> Hinweis: Falls eine Datei ignoriert wird, die du dennoch sichern willst, musst du die `.gitignore` anpassen oder den Befehl `git add -f` (force) nutzen.
2. Dateien und Ordner zum Repository hinzufügen
Wähle die passende Methode, um deine Konfigurationen für den Commit vorzubereiten.
Variante A: Einzelne Dateien oder Ordner
Ideal für gezieltes Hinzufügen von Konfigurationsdateien.
Einzelne Dateien hinzufügen
git add {{pfadZurDatei}}/{{Datei}}
Liste hinzufügen
git add {{pfadZurDatei}}/{{Datei}} {{pfadZurDatei}}/{{Datei2}}
ODER: Ganzen Ordner rekursiv hinzufügen
git add {{Ordner}}
Variante B: Alles im aktuellen Verzeichnis
Um alle Änderungen im Projektordner gleichzeitig zu erfassen:
git add .
---
3. Status prüfen & Commit erstellen
Vor dem Speichern solltest du immer prüfen, was im "Staging"-Bereich gelandet ist, um keine Passwörter versehentlich hochzuladen.
Prüfung der vorgemerkten Änderungen
git status
Änderungen lokal speichern
git commit -m "Update config for {{folder}}"
---
4. Änderungen zu Gitea übertragen (Push)
Um die lokalen Commits auf den Server hochzuladen:
git push
---
5. Repository-Informationen & Analyse
Hier findest du nützliche Befehle, um die Verknüpfung zu deinem Gitea-Server zu prüfen.
# Welches Remote-Repository wird verwendet? git remote -v # Detailinformationen (Tracking, Default-Branch, Push-URL) git remote show origin # Aktuellen Branch anzeigen git branch # Nur die Remote-URL aus der Konfiguration auslesen git config --get remote.origin.url
---
Best Practices für Docker-Services
Um das Repository sauber zu halten, sollten nur relevante Dateien versioniert werden.
| Versionieren (Ja) | NICHT versionieren (Nein) |
|---|---|
| `docker-compose.yml` | Logs (`*.log`) |
| `*.yaml` / `*.yml` Konfigurationen | Datenbank-Verzeichnisse (z.B. `mysql/`, `db/`) |
| `.env.example` (Templates) | `.env` (mit echten Passwörtern/Secrets!) |
| Eigene Shell-Scripte (`*.sh`) | Cache-Daten & Laufzeitdaten |
| Dockerfiles | Media-Dateien, Bilder, Backups |
Tipp zur Einbauposition (Mounting Position): Wenn du Volumes in deiner `docker-compose.yml` verschiebst oder Pfade änderst, stelle sicher, dass die neuen Pfade auch von Git erfasst werden. Nutze dazu oben einfach die Variable `Vorlage:Folder`, um die Befehle schnell für andere Container anzupassen.