Files
claude-projects/global/commands/git-sync.md
T
2026-06-20 12:17:59 +02:00

25 lines
1.1 KiB
Markdown

---
description: Commit + Push aller persistent konfigurierten Projekt-Repos
---
Du committest und pushst die persistent hinterlegten Projekt-Verzeichnisse
(`permissions.additionalDirectories` aus den Settings) — nicht das CWD.
1. Verzeichnisse sammeln (Projekt-, lokale, User-Settings, dedupliziert):
```bash
for f in .claude/settings.json .claude/settings.local.json "$HOME/.claude/settings.json"; do
[ -f "$f" ] && jq -r '.permissions.additionalDirectories[]?' "$f" 2>/dev/null
done | sort -u | sed "s|^~/|$HOME/|"
```
2. Für jedes Verzeichnis, das ein Git-Repo ist: aus `git -C <dir> status` und
`git -C <dir> diff --staged --stat` plus `git -C <dir> diff --stat` eine knappe,
sachliche einzeilige Commit-Message auf Deutsch erzeugen (beschreibt, was geändert wurde).
3. Pro Verzeichnis aufrufen:
```bash
"$HOME/claude-projects/global/bin/git-sync" "<dir>" "<message>"
```
4. Ergebnisse pro Repo zusammenfassen: committed / gepusht / nichts zu tun / abgelehnt.
Verändere nichts außerhalb dieser Verzeichnisse. Kein force, kein merge — das Skript
ist darauf ausgelegt und meldet Konflikte nur, statt sie aufzulösen.