Taşıma Kılavuzu
Genel Bakış
gityar, GitHub, GitLab, Gogs, Gitea ve URL üzerinden herhangi bir Git deposundan depo taşımayı destekler.
Taşıma Yöntemleri
1. Web Arayüzü ile Taşıma
Adımlar
- "+" → "Yeni Taşıma" tıklayın
- Kaynağı seçin:
- GitHub
- GitLab
- Gogs
- Gitea
- Diğer Git Deposu
- Depo URL'sini girin:
- GitHub:
https://github.com/user/repo.git
- GitLab:
https://gitlab.com/user/repo.git
- Diğer: Herhangi bir Git URL'si
- Kimlik doğrulama (gerekirse):
- Kullanıcı Adı/Şifre
- Erişim Belirteci
- Taşımayı yapılandırın:
- Depo Adı: Adı geçersiz kıl (isteğe bağlı)
- Açıklama: Açıklamayı geçersiz kıl (isteğe bağlı)
- Özel: Görünürlüğü ayarla
- Yansıtma: Yansıma deposu oluştur
- "Depoyu Taşı" tıklayın
2. Komut Satırı ile Taşıma
Kaynaktan Klonlama
git clone --mirror https://source-git.com/user/repo.git
cd repo.git
gityar'a Push
git push --mirror http://localhost:3000/user/repo.git
Ne Taşınır
Tam Taşıma
- ✅ Tüm commit'ler ve branch'ler
- ✅ Tüm tag'ler
- ✅ Depo dosyaları
- ✅ Commit geçmişi
- ✅ Katkıda bulunanlar
İsteğe Bağlı (kaynak destekliyorsa)
- ⚠️ Sorunlar
- ⚠️ Çekme istekleri / Merge request'ler
- ⚠️ Etiketler
- ⚠️ Kilometre taşları
- ⚠️ Wiki sayfaları
- ⚠️ Sürümler
GitHub'dan Taşıma
Kişisel Erişim Belirteci Kullanma
- GitHub'da belirteç oluşturun:
- Settings → Developer settings → Personal access tokens gidin
repo scope'u ile belirteç oluşturun
- gityar taşımasında:
- URL:
https://github.com/user/repo
- Kimlik doğrulama: Belirteci şifre olarak kullanın
GitHub Enterprise
https://github-enterprise.example.com/user/repo
GitLab'dan Taşıma
Kişisel Erişim Belirteci Kullanma
- GitLab'da belirteç oluşturun:
- User Settings → Access Tokens gidin
read_api ve read_repository scope'ları ile belirteç oluşturun
- gityar taşımasında:
- URL:
https://gitlab.com/user/repo
- Kimlik doğrulama: Belirteci şifre olarak kullanın
GitLab Self-Hosted
https://gitlab.your-company.com/user/repo
Gogs/Gitea'dan Taşıma
GitLab taşımasına benzer:
https://gogs.example.com/user/repo.git
https://gitea.example.com/user/repo.git
Büyük Depoları Taşıma
Limitleri Artırma
app.ini içinde:
[repository]
MAX_CREATION_LIMIT = -1 # Sınırsız
[migrations]
MAX_ATTEMPTS = 3
MAX_REQUEST_SIZE = 104857600 # 100MB
Yansıma Taşıma Kullanma
Büyük depolar için:
- Yansıma deposu oluşturun
- Senkronizasyon arka planda gerçekleşir
- İlerlemeyi depo ayarlarında izleyin
Komut Satırı Alternatifi
Çok büyük depolar için komut satırını kullanın:
# Sığ geçmişle klonlayın
git clone --depth 100 --mirror https://source.com/repo.git
cd repo.git
# gityar'a push
git push --mirror http://localhost:3000/repo.git
Taşıma Sonrası Görevler
Remote URL'lerini Güncelleme
git remote set-url origin http://localhost:3000/user/repo.git
git push -u origin --all
git push -u origin --tags
Taşımayı Doğrulama
Depoyu Yapılandırma
- Depo ayarlarını güncelleyin
- İşbirlikçileri ekleyin
- Web kancalarını yapılandırın
- Branch koruması ayarlayın
- Özellikleri etkinleştirin/devre dışı bırakın
Sorun Giderme
Yaygın Sorunlar
Kimlik Doğrulama Başarısız:
- Kimlik bilgilerini doğrulayın
- Belirteç izinlerini kontrol edin
- URL'nin doğru olduğundan emin olun
Depo Bulunamadı:
- Deponun var olduğunu kontrol edin
- Erişiminiz olduğunu doğrulayın
- URL formatını onaylayın
Taşıma Zaman Aşımı:
app.ini içinde zaman aşımını artırın
- Yansıma taşıma kullanın
- Komut satırı yöntemini deneyin
Eksik Taşıma:
- Hatalar için logları kontrol edin
- Kaynak depoyu doğrulayın
- Taşımayı yeniden deneyin
Büyük Dosyalar Eksik:
- Kaynakta Git LFS yükleyin
- gityar'da LFS'yi etkinleştirin
git lfs migrate kullanın
Taşıma Loglarını Kontrol Etme
Logları şurada görüntüleyin:
log/gityar.log
Taşıma ile ilgili hataları arayın.
Yansıtma (Mirroring)
Yansıma Oluşturma
Taşıma sırasında "Yansıma" seçeneğini belirleyin.
Yansıma Depo Özellikleri
- Kaynaktan tek yönlü senkronizasyon
- Otomatik güncellemeler
- gityar'da salt okunur
- Kaynaktan sadece çekme
Yansımayı Güncelleme
Manuel Güncelleme:
- Depo Ayarları gidin
- "Senkronize Et" düğmesine tıklayın
Otomatik Senkronizasyon:
app.ini içinde yapılandırın:
[repository]
PULL_REQUEST_COMMITS = true
DISABLED_REPO_UNITS =
Yansımayı Normal Depoya Dönüştürme
- Depo Ayarları gidin
- Yansıtma özelliğini devre dışı bırakın
- Depo tam düzenlenebilir hale gelir
En İyi Uygulamalar
Taşıma Öncesi
- ✅ Kaynak depoyu yedekleyin
- ✅ Erişim kimlik bilgilerini doğrulayın
- ✅ Depo boyutunu kontrol edin
- ✅ Neyin taşınacağını gözden geçirin
- ✅ Takım üyelerini bilgilendirin
Taşıma Sırasında
- ✅ Taşıma ilerlemesini izleyin
- ✅ Hatalar için logları kontrol edin
- ✅ Doğrulanana kadar kaynağı silmeyin
- ✅ Taşıma sonrası klonlamayı test edin
Taşıma Sonrası
- ✅ Tüm verilerin taşındığını doğrulayın
- ✅ Belgeleri güncelleyin
- ✅ CI/CD pipeline'larını güncelleyin
- ✅ Takım için remote URL'lerini güncelleyin
- ✅ Eski depoyu arşivleyin veya yönlendirin
Sonraki Adımlar