Einsatzbeispiele
Vier Arten, GitPulse zu nutzen, jeweils zum Kopieren. Alle gehen von derselben Config aus — einmal anlegen mit gitpulse init ~/code.
1. Der Morgen-Check
Du öffnest das Terminal und willst wissen, was du gestern offen gelassen hast.
gitpulse --compact
Gelistet werden nur Repositories mit nicht committeten Änderungen, ungepushten oder fehlenden Commits oder Stashes. Eine leere Liste heißt: alles erledigt.
Mit -v siehst du zusätzlich jeden Branch mit Sync-Stand und Alter — praktisch vor dem Aufräumen:
gitpulse --compact -v
2. Die tägliche Status-Mail
Lass dir die Übersicht per Cron an jedem Werktag um 8:00 schicken. --compact --html erzeugt eine eigenständige Seite nur mit den Repositories, die Aufmerksamkeit brauchen — mit Inline-Styles, damit sie auch in Outlook und Gmail richtig aussieht.
# crontab -e
0 8 * * 1-5 /usr/local/bin/gitpulse --compact --html | mail -a "Content-Type: text/html" -s "Repo-Status" du@example.com
Läuft Cron unter einem anderen Benutzer, gib die Config mit --config /pfad/zu/repos.ini an.
3. Mehrere Server per SSH
remote_gitpulse kopiert das passende gitpulse-Binary und eine Config auf einen Linux- oder macOS-Server, scannt dort und entfernt danach alles wieder. Auf dem Server bleibt nichts installiert.
# server-repos.ini enthält die Pfade, wie sie auf dem Server liegen
remote_gitpulse -host deploy@web01 -config server-repos.ini -arch linux-amd64
remote_gitpulse -host deploy@pi -config pi-repos.ini -arch linux-arm64
Typischer Fund: Jemand hat eine Config direkt auf dem Server geändert und nie committet.
4. Skripte, Dashboards und CI
--json liefert den vollständigen Stand — jedes Repository, jeden lokalen Branch, Ahead/Behind-Zähler, Stashes, letzten Commit und letzten Fetch.
# Namen aller Repositories mit nicht committeten Änderungen
gitpulse --json | jq -r '.results[] | select(.is_clean == false) | .name'
# CI-Job scheitern lassen, wenn irgendetwas ungepusht ist
gitpulse --json | jq -e '.summary.ahead == 0'
Die Feldreferenz steht im JSON-Schema. Go-Entwickler können den Scanner direkt als Bibliothek nutzen — siehe Bibliotheks-Doku.