git-sync – CLI-Tool zum direkten Spiegeln von Refs zwischen Git-Remotes ohne lokalen Checkout
(github.com/entireio)- Kein lokaler Klon erforderlich: Refs und Objekte werden direkt vom Quell-Remote zum Ziel-Remote gestreamt, ohne das Repository auf lokaler Festplatte auszuchecken
- Relay-Übertragungspfad: Pack-Daten aus dem
upload-packder Quelle werden direkt an dasreceive-packdes Ziels weitergeleitet; dadurch bleibt der Speicherverbrauch unabhängig von der Repository-Größe konstant - Falls Relay nicht möglich ist (force, prune, delete usw.), erfolgt ein materialisierter Fallback: Objekte werden in einen In-Memory-
go-git-Store gefetcht, anschließend wird die Pack-Datei kodiert und gepusht; das Speicherlimit lässt sich mit--materialized-max-objectsfestlegen - Mit
git-sync synclässt sich alles von der initialen Befüllung eines leeren Ziels bis zur fortlaufenden Synchronisierung abdecken; mitgit-sync planist vor dem Push eine Vorschau möglich git-sync replicategleicht Ziel-Refs vollständig an die Quelle an, ist dabei aber ein strenger Modus, der fehlschlägt, wenn lokale Materialisierung nötig wäre- Unterstützung für alle Ref-Verwaltungsaktionen wie Erstellen und Aktualisieren von Refs, erzwungene Updates mit
--forcesowie Löschen mit--prune - Alle Aktionen werden vor dem Push geplant, und es gibt eine typisierte JSON-Ausgabe, die sich direkt in CI-/Automatisierungspipelines integrieren lässt
- Kann auch als Go-Bibliothek eingebettet werden und bietet stabile APIs wie
Probe,Plan,SyncundReplicate - Nur unidirektional, ohne SSH-Unterstützung (nur Smart HTTP/HTTPS), und als One-Shot-Ausführung ohne Daemon- oder Watch-Funktion
- MIT-Lizenz
3 Kommentare
Entire - Neue Entwicklerplattform für AI-Agenten
Auf den ersten Blick wirkt es gut.
Wurde wohl gebaut, weil
worktreegerade im Trend ist. Muss ich mal ausprobieren!