[[Moni's Elektro Base|← Zurück zur Homepage]]
# Git-Versionskontrolle & GitHub-Backup
Vollständige Dokumentation des Git-Setups für Moni's Elektro Base Vault.
## 📋 Übersicht
Das Vault wird mit **Github** versioniert und automatisch auf **GitHub** gesichert. Dies ermöglicht:
- 📜 Vollständige Versionshistorie
- 💾 Automatische Cloud-Backups
- 🔄 Änderungen nachverfolgbar
- ⚙️ Automatische Pushes zu GitHub
## 🔧 Setup (bereits durchgeführt)
### Initialisierung
```bash
git init
git config --global user.email "
[email protected]"
git config --global user.name "Monika"
```
### GitHub-Verbindung
```bash
git remote add origin https://github.com/obecojb/moni-elektro-base.git
git branch -M main
git push -u origin main
```
### Automatisierung mit Git Hooks
- **Pre-Commit Hook:** Akzeptiert Commits
- **Post-Commit Hook:** Pushed automatisch zu GitHub
**Dateien:**
```
.git/hooks/pre-commit
.git/hooks/post-commit
```
## 🚀 Tägliche Nutzung
### Neuen Backup erstellen
```bash
cd "O:/Privat/Monika/Haus/Moni's Elektro Base/Moni's Elektro Base"
git add .
git commit -m "Backup: [Beschreibung der Änderungen]"
```
**Der Hook macht automatisch:**
```
📤 Hochladen zu GitHub...
✅ GitHub aktualisiert!
```
### Verlauf anschauen
```bash
git log --oneline # Alle Commits anzeigen
git status # Aktuelle Änderungen
git diff # Detaillierte Änderungen
```
## 📝 Good Practices für Commit-Messages
**Gutes Format:**
```
git commit -m "Backup: Neue Komponenten dokumentiert"
git commit -m "Fix: Rechtschreibfehler in Home Assistant.md"
git commit -m "Update: CLAUDE.md mit neuen Richtlinien"
git commit -m "Add: README.md erstellt"
```
**Schlechte Beispiele:**
```
git commit -m "Update" # Zu vage
git commit -m "asdf" # Sinnlos
git commit -m "Fix bugs" # Zu allgemein
```
## 🔐 Sicherheit & .gitignore
### Ausgeschlossene Dateien
Die `.gitignore` schließt automatisch aus:
- ❌ `.claude/` – Claude Code Einstellungen
- ❌ `.claudian/` – Claude Sessionen
- ❌ `.obsidian/workspace.json` – Temporäre Workspace-Daten
- ❌ `.trash/` – Gelöschte Dateien
- ❌ `.env` Dateien – Sensible Daten
- ❌ `secrets.md` – Passwörter, Tokens
### Sensible Daten NIEMALS dokumentieren:
- ❌ WiFi-Passwörter
- ❌ Home Assistant Token
- ❌ Private IP-Adressen
- ❌ API-Keys
## 🐛 Troubleshooting
### Problem: `fatal: cannot lock ref 'HEAD'`
**Lösung:**
```bash
rm -f .git/index.lock
git status
```
### Problem: `remote origin already exists`
**Lösung:**
```bash
git remote remove origin
git remote add origin https://github.com/obecojb/moni-elektro-base.git
```
### Problem: `fatal: Authentication failed`
**Lösung:**
- GitHub Personal Access Token verwenden statt Passwort
- Token in GitHub Settings erstellen: https://github.com/settings/tokens
### Problem: Hook wird nicht ausgeführt
**Lösung:**
```bash
chmod +x .git/hooks/pre-commit
chmod +x .git/hooks/post-commit
```
## 📊 Repository-Struktur
```
.git/ ← Git-Datenbank
├── objects/ ← Komprimierte Dateien
├── refs/ ← Branch-Informationen
├── hooks/ ← Automatisierte Scripts
│ ├── pre-commit ← Vor jedem Commit
│ └── post-commit ← Nach jedem Commit
└── config ← Git-Konfiguration
.gitignore ← Regeln für Ausschlüsse
README.md ← GitHub-Beschreibung
```
## 🌐 GitHub-Links
- **Repository:** https://github.com/obecojb/moni-elektro-base
- **Commits:** https://github.com/obecojb/moni-elektro-base/commits/main
- **Einstellungen:** https://github.com/obecojb/moni-elektro-base/settings
## 📚 Weitere Ressourcen
- Git Dokumentation: https://git-scm.com/doc
- GitHub Docs: https://docs.github.com
- Git-Hooks: https://git-scm.com/book/de/v2/Git-Internals-Git-Hooks
## ✅ Checkliste
- [x] Git Repository initialisiert
- [x] GitHub-Konto verbunden
- [x] .gitignore konfiguriert
- [x] Git Hooks installiert
- [x] README.md erstellt
- [x] Erstes Backup durchgeführt
- [x] Auto-Push funktioniert
---
**Zuletzt aktualisiert:** 2026-05-18
**Status:** ✅ Aktiv und automatisiert