git-sync
GitHub depolarını yerelde klonlayan, uygun dalları fast-forward ile güncelleyen ve Git yapılandırma dosyalarını birleştiren .NET komut satırı aracı.
- C#
- .NET
- Git
- GitHub CLI
- Spectre.Console
Amaç ve Kapsam
Birden fazla GitHub deposunun yerel kopyalarını tek komutla yönetir. Eksik depoları klonlama, gerideki dalları güncelleme, bozuk repo dizinlerini onayla temizleme ve ortak .gitignore / .gitattributes çıktıları üretme işlerini bir araya getirir.
Mimari ve Depo Yapısı
Core: seçenekler, depo durumları, sonuç modelleri ve servis sözleşmeleri.Application:SyncOrchestrator, doğrulayıcılar, istatistikler ve dört iş akışı adımı.Infrastructure: Git, GitHub CLI, dosya sistemi, süreç çalıştırma ve Spectre.Console uygulamaları.tests/GitSync.Tests: Git davranışları, doğrulama ve iş akışlarını sınayan testler.
.NET konsol uygulaması Git ve gh süreçlerini çağırır. Süreç ve dosya sistemi erişimleri arayüzler arkasında tutulur.
Çalışma Akışı
Başlangıçta gerekli araçlar, GitHub oturumu ve hedef dizin denetlenir. Kullanıcı onayından sonra temizleme, eksik depoları klonlama, güncelleme ve yapılandırma birleştirme adımları sırayla yürütülür.
Güncelleme adımı yerel değişiklikleri denetler, uzak referansları alır ve uygun dalları ilerletir. Sonuçlar terminalde özetlenir; istenirse JSON raporu yazılır.
Teknik Kararlar
Aktif dal pull --ff-only ile güncellenir. Diğer takip dallarında önce atalık ilişkisi kontrol edilir, uygun referanslar update-ref ile ilerletilir. Ayrışmış dallar otomatik birleştirilmez.
Klonlama ve güncelleme içindeki paralellik semaphore ile sınırlandırılır. --dry-run değişiklikleri önizlemeye, --ignore-untracked ise güncellemede izlenmeyen dosyaların nasıl ele alınacağını seçmeye yarar. Ortak iş adımları tek orkestratörde sıralanır.
Sınırlar ve Doğrulama
Araç genel bir merge conflict çözücüsü değildir. Yerel değişiklikler, detached HEAD veya ayrışan dallar otomatik güncellemeyi sınırlar. Git ve GitHub CLI kurulumu ile kimliği doğrulanmış bir GitHub oturumu gerekir.
Depoda mock süreç ve dosya sistemi kullanan birim testleri bulunur. Bu inceleme aracı çalıştırmadı; yerel depolar klonlama/güncelleme iş akışına verilmedi.
Kaynaklar
İnceleme tarihi: 8 Eylül 2026. İncelenen sürüm (db9266b).