- • Teil 1 der Serie: Git-Repository und Remote eingerichtet
- • Grundkenntnisse von status, diff, add, commit und push
Für kleine Änderungen reicht der Hauptzweig main. Bei einem größeren Umbau solltest du einen eigenen
Branch
BranchAbzweig der Git-Historie: eine parallele Entwicklungslinie. Auf einem Feature-Branch baust du gefahrlos um, main bleibt stabil (Teil 2 der Serie)Mehr dazu →
verwenden. So bleibt der zuletzt funktionierende Stand getrennt von deiner unfertigen Änderung.
Kurzfassung:
Backup
erstellen, Branch anlegen, Änderungen testen, Branch nach erfolgreichem Test in main zusammenführen. rebase ist optional und für den Einstieg nicht erforderlich.
%%{init: {"theme":"base", "flowchart":{"useMaxWidth":false,"nodeSpacing":25,"rankSpacing":30,"padding":10}, "themeVariables":{"fontFamily":"Arial Narrow, Avenir Next Condensed, Helvetica Neue, sans-serif", "fontSize":"18.634px", "primaryColor":"#fff7ed", "primaryTextColor":"#431407", "primaryBorderColor":"#f25500", "lineColor":"#64748b", "secondaryColor":"#ecfeff", "tertiaryColor":"#eef2ff"}}}%%
flowchart TD
subgraph PREP["📦 Vorbereitung"]
direction TB
A["🛡️
Backup
BackupUnabhängige Sicherung zur Wiederherstellung des gesamten Systems oder wichtiger Daten. Ein Home-Assistant-Backup ergänzt Git und ersetzt die Versionshistorie nichtMehr dazu →
erstellen"] --> B["🔍 Stand prüfen
git status"]
end
Home Assistant Empfehlungen
Oszilloskop & Multimeter (3-in-1)
- 【2-Kanal-Oszilloskop】50 MHz Bandbreite, 250 MSa/s Abtastrate, 1 kpts Aufzeichnungstiefe, automatische Messfunktion, max. Spannung 400 V, vertikale Empfindlichkeit 10 mV/div bis 10 V/div, unterstützt das Speichern und Exportieren von Wellenformbildern.
- 【4,5-stelliges Multimeter mit 19999 Counts】Wechselspannung: 0–750 V, Gleichspannung: 0–999,9 V, Gleich-/Wechselstrom: 0–9,999 A, Widerstand: 0–19,99 MΩ, Kapazität: 0–99,99 mF, Durchgangsprüfung. Multifunktionsmessgerät für Profis, Schulen und Hobbyisten.
−15%
Deal
Automatischer Feuerlöscher für Schaltschränke und Server
- ✔ SOFORTIGE BRANDUNTERDRÜCKUNG BEI 170ºC ±10ºC – Der Ferosticker F03 aktiviert sich automatisch bei 170ºC ±10ºC und setzt ein Aerosol frei, das den Brand sofort löscht, indem es die Verbrennung unterbricht. Er bietet schnellen, automatischen Brandschutz in geschlossenen Räumen mit einem Schutzvolumen von 0,3 m³. Speziell für kleine, enge Bereiche entwickelt.
- ✔ KEIN STROM, KEIN DRUCK, KEINE VERKABELUNG ERFORDERLICH – Im Gegensatz zu herkömmlichen Feuerlöschern funktioniert der Ferosticker ganz ohne Strom, Batterien oder Kabel. Sein selbstaktivierendes System sorgt für sorgenfreien Brandschutz ohne Wartung. Vielseitiger Schutz: wirksam gegen Brände der Klassen A, B, C, E und F – deckt ein breites Spektrum an Brandrisiken ab.
−9%
Deal
SONOFF SWV-ZFE Hydro ONE Zigbee Bewässerungscomputer
- Durable Brass Inlet: Dieser water timer verfügt über einen robusten Messinganschluss für zuverlässige Leistung, sorgt für stabilen Betrieb in Ihrem bewässerungssystem garten oder bewässerungssystem, ideal für den langfristigen Einsatz.
- Flexible Zeitpläne & Mengensteuerung: Erstellen Sie bis zu sechs Pläne für zeit- oder mengenbasierte Bewässerung. Wetter- und saisonale Anpassungen optimieren Ihr bewässerungssystem garten und sparen Wasser – ein intelligenter sprinkler-timer.
SONOFF NSPanel Pro Gen2 Smart Home Bedienfeld
- Multi-App Unterstützung & Home Assistant-Integration: 2GB RAM + 32GB Speicher für flüssige Nutzung mehrerer Drittanbieter-Apps – kein Root erforderlich, einfach über F-Droid als Home Assistant Steuerzentrale nutzbar. All-in-One Smart Panel ersetzt zusätzliche Tablets.
- Matter Bridge für universelle Kompatibilität: Integriertes Matter Gateway verbindet Zigbee‑ & Wi‑Fi‑Geräte mit Apple Home, Google Home, Alexa & Home Assistant. Vereinheitlicht alle Marken und Protokolle für ein nahtloses Smart Home Erlebnis.
Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Preis inkl. MwSt., zzgl. Versandkosten.
subgraph FEAT["🌿 Feature-Branch"]
direction TB
B --> C["🌱 Branch anlegen
git switch -c feature/licht-umbau"]
C --> D["🧪 Änderungen testen und committen"]
D --> E{"✅ Funktioniert in
Home Assistant?"}
E -->|"Nein"| F["🔄 Auf dem Branch nachbessern"]
F --> D
end
subgraph DONE["🚀 Abschluss"]
direction TB
E -->|"Ja"| G["🔀 In main zusammenführen"]
G --> H["🧹 Branch löschen"]
end
classDef action fill:#fff7ed,stroke:#f25500,stroke-width:2px,color:#431407
classDef check fill:#ecfeff,stroke:#0891b2,stroke-width:2px,color:#164e63
classDef recovery fill:#fef2f2,stroke:#dc2626,stroke-width:2px,color:#7f1d1d
classDef done fill:#f0fdf4,stroke:#16a34a,stroke-width:2px,color:#14532d
class A,B,C,D action
class E check
class F recovery
class G,H done
Das Diagramm zeigt den Ablauf auf einen Blick: Solange der Umbau in Home Assistant nicht funktioniert, bleibst du auf dem Feature-Branch und bessere nach. Erst nach erfolgreichem Test führst du den Branch in main zusammen.
Wann brauche ich einen Branch?
| Änderung | Empfehlung |
|---|---|
| Eine kleine Anpassung an einer Automation AutomationRegelbasierte Ablaufsteuerung in Home Assistant: Auslöser (Trigger), Bedingungen und Aktionen führen automatisch einen Ablauf aus (z.B. Licht bei Sonnenuntergang einschalten) | Direkt auf main arbeiten und anschließend committen |
| Mehrere Dateien oder ein neues Konzept | Einen Feature-Branch anlegen |
| Ein Umbau mit unklarem Ergebnis | Branch, Backup und Tests verwenden |
| Eine schnelle Reparatur während eines Umbaus | Zum stabilen main wechseln oder einen eigenen Reparatur-Branch anlegen |
Ein Branch verändert die Dateien in /config, sobald du zu ihm wechselst. Du testest also weiterhin die echte Home-Assistant-Konfiguration. Er ist keine Sandbox.
Der empfohlene Workflow
1. Backup erstellen und aktuellen Stand prüfen
Erstelle vor einem größeren Umbau ein vollständiges Home-Assistant-Backup. Prüfe danach, ob dein Git GitVerteiltes Versionsverwaltungssystem. Speichert jede Änderung an Textdateien als Commit nachvollziehbar – mit Historie, Branches und der Möglichkeit, jeden Zustand wiederherzustellenMehr dazu → -Arbeitsverzeichnis sauber ist:
|
|
2. Feature-Branch anlegen
|
|
Der Name beschreibt das Vorhaben. Auf diesem Branch kannst du nun Dateien ändern und nach jedem sinnvollen Schritt committen:
|
|
3. Änderung in Home Assistant testen
Prüfe die YAML YAMLDatenformat (YAML Ain’t Markup Language). Wird in Home Assistant für Konfigurationen, Automationen und Szenen verwendet. Leicht lesbar aber fehleranfällig bei falschen Einrückungen -Konfiguration, lade sie neu und teste die betroffenen Automationen. Sie funktionieren erst dann als abgeschlossen, wenn Home Assistant die Änderung akzeptiert und das Verhalten stimmt.
4. Branch in �16� zusammenführen
|
|
Erst danach kannst du den lokalen Branch löschen:
|
|
Merge oder Rebase?
Merge MergeGit-Befehl zum Zusammenführen eines Branches in einen anderen – übernimmt dessen Commits in die Ziel-Historie (ggf. mit Merge-Commit)Mehr dazu → ist der Standard für Einsteiger. Es führt die Änderungen zusammen und verändert keine vorhandenen Commits.
Rebase
RebaseGit-Verfahren, das Commits eines Branches auf den aktuellen Stand eines anderen versetzt – erzeugt eine lineare, aufgeräumte HistorieMehr dazu →
setzt deine Commits auf den aktuellen Stand von main. Das kann die Historie übersichtlicher machen, schreibt sie aber um. Verwende es nur für einen privaten, noch nicht gemeinsam genutzten Branch:
|
|
Bei einem bereits veröffentlichten Branch ist ein Rebase nur mit besonderer Vorsicht und meist git push --force-with-lease möglich.
| Merge | Rebase | |
|---|---|---|
| Einfachheit | Für Einsteiger geeignet | Fortgeschritten |
| Historie | Kann Verzweigungen zeigen | Meist linear |
| Vorhandene Commits | Bleiben unverändert | Werden neu geschrieben |
| Empfehlung | Standardweg | Optional zum Aufräumen eines privaten Branches |
Merge-Konflikte lösen
Ein
Konflikt
KonfliktWidersprüchliche Änderungen an derselben Stelle, die Git beim Zusammenführen nicht selbst entscheiden kann. Die betroffene Datei muss manuell geprüft werdenMehr dazu →
entsteht, wenn main und dein Branch dieselbe Stelle unterschiedlich geändert haben. Git markiert die Stelle zum Beispiel so:
|
|
Öffne die Datei in VS Code VS CodeKostenloser Editor von Microsoft. Mit der Remote-SSH-Erweiterung bearbeitest du die HA-Konfiguration auf deinem Client, ohne den HA-Server zu belastenMehr dazu → und entscheide, welche Fassung gelten soll. Entferne danach alle drei Konfliktmarker. Prüfe anschließend die Datei in Home Assistant und schließe den Merge ab:
|
|
Mit git status findest du weitere Konfliktdateien.
Änderungen sicher zurücknehmen
Wenn ein
Commit
CommitEin gespeicherter Zwischenstand in Git: ein Snapshot der Änderungen mit Nachricht, Autor und Zeitstempel. Die Bausteine der VersionshistorieMehr dazu →
bereits auf
GitHub
GitHubWeb-Plattform für Git-Repositories. Ein privates Repository kann als Remote für die Versionshistorie deiner Konfiguration dienen. GitHub ist aber kein vollständiges Home-Assistant-BackupMehr dazu →
liegt, ist git revert der sichere Standard:
|
|
Git erstellt dabei einen neuen Commit, der die Änderung rückgängig macht. git reset --hard verwirft dagegen lokale Änderungen und ist für Einsteiger nicht der normale Rückweg.
Häufige Fragen
Muss �23� immer funktionieren?
Das ist die sinnvollste Regel. Auf main sollte nur ein getesteter Zustand liegen. Unfertige Arbeiten gehören auf einen Feature-Branch.
Ist ein Branch eine Testumgebung?
Nein. Beim Wechseln des Branches wechseln die echten Dateien in /config. Erstelle vor einem größeren Test ein Home-Assistant-Backup.
Was mache ich bei einem Konflikt?
Lies beide Versionen, entscheide dich für eine Fassung oder kombiniere sie, entferne die Konfliktmarker und prüfe die Datei in Home Assistant.
Was ist der Unterschied zwischen �26� und �27�?
revert erstellt einen neuen Commit und erhält die Historie. reset verschiebt den aktuellen Branch und kann lokale Arbeit verwerfen.
Muss ich den Branch auf GitHub pushen?
Nicht zwingend. Ein Push PushGit-Befehl zum Hochladen lokaler Commits in ein Remote-Repository, zum Beispiel auf GitHubMehr dazu → schützt den Zwischenstand zusätzlich und ermöglicht die Arbeit an einem anderen Rechner.
Fazit
Für kleine Änderungen genügt main. Für größere Vorhaben ist der Ablauf klar: Backup erstellen, Branch anlegen, testen, mergen und erst danach aufräumen. Merge ist der einfache Standard. Rebase bleibt eine optionale Technik für später.
Was sagst du dazu? Kommentiere jetzt!
Teile deine Gedanken, Fragen oder Erfahrungen mit der Community.