Zum Inhalt springen

Git befehle: Unterschied zwischen den Versionen

Aus Home Wiki
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Git – Docker Services versionieren =
= Git – Docker Services versionieren =


== 1. Prüfen ob Dateien ignoriert werden ==
Diese Anleitung beschreibt den Workflow, um Konfigurationsdateien von Docker-Services sicher in einem Git-Repository (z. B. Gitea) zu versionieren.


Überprüfen, ob eine `.gitignore` bestimmte Dateien ausschließt:
== 1. Vorbereitung: Ignorierte Dateien prüfen ==
Bevor Dateien hinzugefügt werden, muss sichergestellt werden, dass die `.gitignore` den Upload nicht blockiert.


<syntaxhighlight lang="bash">
 
Wechsel in das Verzeichnis des Services
<pre class="dynamic-code">
cd ~/docker/{{folder}}
</pre>
Prüfung der Ignorier-Regeln
<pre class="static-code">
cat .gitignore
cat .gitignore
</syntaxhighlight>
</pre>


Typische problematische Einträge:
'''Häufige Blocker in der .gitignore:'''
* `config/` (ignoriert den gesamten Ordner)
* `*.yaml` oder `*.yml` (ignoriert alle Konfigurationsdateien)


<syntaxhighlight lang="bash">
> '''Hinweis:''' Falls eine Datei ignoriert wird, die du dennoch sichern willst, musst du die `.gitignore` anpassen oder den Befehl `git add -f` (force) nutzen.
config/
*.yaml
*.yml
</syntaxhighlight>


Wenn solche Regeln existieren, werden die Dateien nicht versioniert.
== 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.


== 2. Bestimmte Dateien zum Repository hinzufügen ==
Einzelne Dateien hinzufügen
<pre class="dynamic-code">
git add {{pfadZurDatei}}/{{Datei}}
</pre>
Liste hinzufügen
<pre class="dynamic-code">
git add {{pfadZurDatei}}/{{Datei}} {{pfadZurDatei}}/{{Datei2}}
</pre>
ODER: Ganzen Ordner rekursiv hinzufügen
<pre class="dynamic-code">
git add {{Ordner}}
</pre>


Beispiel (Homepage):
=== Variante B: Alles im aktuellen Verzeichnis ===
Um alle Änderungen im Projektordner gleichzeitig zu erfassen:
<pre class="static-code">
git add .
</pre>


Pfad:
---
~/docker/homepage


Gewünschte Dateien:
== 3. Status prüfen & Commit erstellen ==
- homepage/config/settings.yaml
Vor dem Speichern solltest du immer prüfen, was im "Staging"-Bereich gelandet ist, um keine Passwörter versehentlich hochzuladen.
- homepage/config/services.yaml


Einzeln hinzufügen:


<syntaxhighlight lang="bash">
Prüfung der vorgemerkten Änderungen
git add homepage/config/settings.yaml
<pre class="dynamic-code">
git add homepage/config/services.yaml
git status
</syntaxhighlight>
</pre>
 
Oder gemeinsam:
 
<syntaxhighlight lang="bash">
git add homepage/config/settings.yaml homepage/config/services.yaml
</syntaxhighlight>
 
---
 
== 3. Commit erstellen ==


<syntaxhighlight lang="bash">
Änderungen lokal speichern
git commit -m "Add homepage settings and services config"
<pre class="dynamic-code">
</syntaxhighlight>
git commit -m "{{Update}}"
</pre>


---
---


== 4. Änderungen zu Gitea pushen ==
== 4. Änderungen zu Gitea übertragen (Push) ==
Um die lokalen Commits auf den Server hochzuladen:


<syntaxhighlight lang="bash">
<pre class="static-code">
git push
git push
</syntaxhighlight>
</pre>
 
---
 
== 5. Kompletten Ordner hinzufügen ==
 
Alles im aktuellen Verzeichnis hinzufügen:
 
<syntaxhighlight lang="bash">
git add .
</syntaxhighlight>
 
Vorher prüfen, was hinzugefügt wird:
 
<syntaxhighlight lang="bash">
git status
</syntaxhighlight>


---
---


= Git Repository prüfen =
== 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? ==


<syntaxhighlight lang="bash">
<pre class="dynamic-code">
# Welches Remote-Repository wird verwendet?
git remote -v
git remote -v
</syntaxhighlight>
Beispiel:
<syntaxhighlight lang="bash">
origin  http://192.168.2.10:3000/saya/homepage.git (fetch)
origin  http://192.168.2.10:3000/saya/homepage.git (push)
</syntaxhighlight>
Zeigt, wohin gepusht wird (z. B. Gitea).
---
== Detailinformationen zum Remote ==


<syntaxhighlight lang="bash">
# Detailinformationen (Tracking, Default-Branch, Push-URL)
git remote show origin
git remote show origin
</syntaxhighlight>
Zeigt:
- Tracking-Branch
- Default-Branch
- Push-URL
---
== Aktuellen Branch anzeigen ==


<syntaxhighlight lang="bash">
# Aktuellen Branch anzeigen
git branch
git branch
</syntaxhighlight>


Der aktive Branch hat ein `*`.
# Nur die Remote-URL aus der Konfiguration auslesen
 
git config --get remote.origin.url
Alternativ:
</pre>
 
<syntaxhighlight lang="bash">
git status
</syntaxhighlight>


---
---


== Gesamte Git-Konfiguration anzeigen ==
== Best Practices für Docker-Services ==
 
<syntaxhighlight lang="bash">
git config --list
</syntaxhighlight>
 
Nur Remote-URL anzeigen:
 
<syntaxhighlight lang="bash">
git config --get remote.origin.url
</syntaxhighlight>
 
---


= Empfehlung für Docker-Services =
Um das Repository sauber zu halten, sollten nur relevante Dateien versioniert werden.


Versionieren:
{| class="wikitable"
- docker-compose.yml
! Versionieren (Ja) !! NICHT versionieren (Nein)
- *.yaml / *.yml Konfigurationsdateien
|-
- .env (ohne Passwörter)
| `docker-compose.yml` || Logs (`*.log`)
- Eigene Scripts
|-
| `*.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
|}


Nicht versionieren:
'''Tipp zur Einbauposition (Mounting Position):'''
- Logs
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 `{{folder}}`, um die Befehle schnell für andere Container anzupassen.
- Datenbanken
- Cache
- Laufzeitdaten aus Volumes
- Media-Dateien

Aktuelle Version vom 15. Februar 2026, 16:12 Uhr

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}}"

---

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.