git-sync - लोकल checkout के बिना Git remotes के बीच refs को सीधे mirror करने वाला CLI टूल
(github.com/entireio)- लोकल clone की ज़रूरत बिना source remote से target remote तक refs और objects को सीधे stream करता है, और repository को लोकल disk पर checkout नहीं करता
- Relay ट्रांसफर पाथ के जरिए source
upload-packpack data को targetreceive-packमें सीधे बहाता है, इसलिए repository के size से अलग memory उपयोग स्थिर रहता है - relay संभव न होने पर (force, prune, delete आदि) Materialized fallback के तहत in-memory
go-gitstore में objects को fetch करने के बाद packfile encode और push करता है, और--materialized-max-objectsसे memory सीमा तय की जा सकती है git-sync syncएक ही कमांड से खाली target की शुरुआती seeding से लेकर लगातार synchronization तक संभालता है, औरgit-sync planसे push से पहले preview देखा जा सकता हैgit-sync replicatetarget refs को source के साथ पूरी तरह match करता है, लेकिन अगर local materialize की ज़रूरत पड़े तो failure देने वाला strict mode है- ref बनाना, update करना,
--forceसे force update,--pruneसे delete करना जैसी सभी ref management actions को support करता है - push से पहले सभी actions की planning करता है और typed JSON output देता है, जिससे इसे CI/automation pipelines से सीधे जोड़ा जा सकता है
- Go library के रूप में embed भी किया जा सकता है, और
Probe,Plan,Sync,Replicateजैसी stable APIs प्रदान करता है - सिर्फ one-way, SSH unsupported (केवल Smart HTTP/HTTPS), daemon/watch functionality के बिना one-shot execution mode
- MIT license
3 टिप्पणियां
Entire - AI एजेंटों के लिए नया डेवलपर प्लेटफ़ॉर्म
पहली नज़र में यह अच्छा लग रहा है।
लगता है
worktreeके लोकप्रिय होने की वजह से इसे बनाया गया होगा। इस्तेमाल करके देखना पड़ेगा!