Markus Michalski FAQ

git-sync-all

git-sync-all: CLI-Tool, das alle Git-Repositories in einem Verzeichnisbaum synchronisiert (Tags, Commit, Pull, Push). Übersicht, Quick Start und Verweise auf die Detailseiten.

English Version

Zurück zu Bash Scripts & Tools

git-sync-all

GitHub
License
Bash


Video-Tutorial

Das Video zeigt Installation, ersten Sync und die wichtigsten Funktionen von git-sync-all in unter 4 Minuten.

Video-Tutorial

Überblick

git-sync-all ist ein Bash-Tool, das alle Git-Repositories in einem Verzeichnisbaum nacheinander synchronisiert: Tags holen, Änderungen committen, vom Remote pullen und lokale Commits pushen. Ein Befehl ersetzt die manuelle Runde durch jedes Repository.

Gedacht für Entwickler, die auf mehreren Maschinen arbeiten und alle Projekte mit einem Aufruf auf demselben Stand halten wollen.

Das Tool committet mit git add -A auch nicht verfolgte Dateien und pusht ohne Rückfrage, sobald du --yes verwendest. Starte neue Setups mit --dry-run und lies die Seite Sicherheit.

Was pro Repository passiert

  1. Tags per git fetch --tags --prune-tags holen
  2. Änderungen im Arbeitsverzeichnis erkennen und nach Rückfrage committen (git add -A)
  3. Neue Commits vom Upstream pullen (Rebase oder Merge)
  4. Lokale Commits pushen

Pro Repository gibt es kein Force-Push, keinen Branch-Wechsel und keinen Tag-Push. Schlägt ein Pull fehl, bricht das Tool Rebase oder Merge selbst ab.

Funktionen

Schnellstart

git clone https://github.com/markus-michalski/git-sync-all.git
cd git-sync-all
make link PREFIX=$HOME/.local
git-sync-all --init-config
git-sync-all --dry-run
git-sync-all

Dokumentation

Seite Inhalt
Installation Voraussetzungen, Linux, macOS, Windows, Alias, Deinstallation
Konfiguration Alle Variablen, Platzhalter, Rangfolge
Verwendung Optionen, Beispiele, Exit-Codes, Cron
Sync-Ablauf Was pro Repository passiert, Konflikte, Stash
Inventar repos.yml, --verify, --issues
Sicherheit Auto-Commit, Löschung, Config als Skript
Fehlerbehebung Meldungen, Ursachen, Lösungen
Technische Details Module, Ablauf, Tests

Lizenziert unter der MIT-Lizenz.

Ressource Link
GitHub Repository https://github.com/markus-michalski/git-sync-all
Releases https://github.com/markus-michalski/git-sync-all/releases
Issues / Bug-Reports https://github.com/markus-michalski/git-sync-all/issues