Restore Genel Bakış
GitSec'in restore özelliği, bir backup anlık görüntüsünü GitHub, GitLab veya Bitbucket üzerinde yeni bir repository'ye kurtarmanıza olanak tanır. Mevcut bir repository'ye restore henüz kullanılamamaktadır.

Restore App ve Backup App Karşılaştırması
GitHub'a restore yaparken GitSec iki ayrı GitHub App kullanır:
| App | İzinler | Amaç |
|---|---|---|
| Backup App | Salt okunur | Backup oluşturmak için repository verilerinizi okur. |
| Restore App | Okuma ve Yazma | Restore işlemi sırasında repository oluşturur veya push yapar. |
Restore App ayrıdır çünkü restore işlemi yeni repository oluşturmak veya kod push etmek için yazma erişimi gerektirir. Bu ayrım en az yetki ilkesini takip eder. Backup App, repository'lerinize asla yazma erişimi almaz.
Restore App, ilk restore işleminizi başlattığınızda on-demand olarak yüklenir. Restore wizard sırasında hedef GitHub organizasyonuna yüklemeniz istenecektir.
Restore App'i yüklerken All repositories seçeneğini seçmeniz zorunludur: "Only select repositories" seçmeyin. Restore işleminin düzgün çalışabilmesi için hedef organizasyondaki tüm repository'lere erişim gereklidir. Yalnızca belirli repository'leri seçerseniz restore işlemi başarısız olur.
Bitbucket'a restore yaparken yüklenecek bir GitHub App yoktur. Bunun yerine restore wizard sırasında bağlı Bitbucket hesabınızdan bir hedef çalışma alanı (workspace) seçersiniz.
GitLab'a restore yaparken de yüklenecek bir uygulama yoktur. OAuth ile bağlanan GitLab.com'a veya adresi ve bir erişim token'ı (access token) ile bağlanan Self-Managed GitLab sunucunuza restore yapabilirsiniz. Restore wizard sırasında Target namespace seçersiniz: kişisel namespace'iniz veya proje oluşturabildiğiniz bir grup. İkisinin de nasıl bağlanacağı için GitLab Bağlama sayfasına bakın.
Neler Restore Edilebilir?
Neleri restore edebileceğiniz, restore yaptığınız hedef sağlayıcıya bağlıdır:
| Scope | GitHub | GitLab | Bitbucket |
|---|---|---|---|
| Code & Commits (tag'ler dahil) | ✓ | ✓ | ✓ |
| Repository Metadata | — | ✓ (açıklama, varsayılan dal) | ✓ (açıklama, web sitesi, fork politikası, dil) |
| Pull Requests | ✓ yorum ve tepkileriyle | ✓ merge request olarak, yorumlarıyla | ✓ yorumlarıyla (tepkiler restore edilmez) |
| Issues | ✓ | ✓ | — |
| Releases | ✓ | ✓ | — |
| Collaborators | ✓ | ✓ | — |
Bir backup'ı, alındığı sağlayıcıdan farklı bir sağlayıcıya da restore edebilirsiniz. Bu durumda:
- Collaborators yalnızca backup'ın alındığı sağlayıcıya restore edilebilir.
- Başka bir sağlayıcıdan gelen Repository Metadata, Pull Requests, Issues ve Releases yalnızca GitLab hedefine restore edilebilir. Örneğin bir GitHub veya Bitbucket backup'ını GitLab'a restore ettiğinizde pull request'leri, issue'ları ve release'leri de aktarılır.
- GitHub'dan alınan repository metadata'sı başka bir sağlayıcıya restore edilmez.
Restore wizard yalnızca seçilen backup anlık görüntüsünde bulunan scope'ları sunar; anlık görüntüde olmayan scope'lar gizlenir. Kaynak kod içermeyen eski backup'lar restore akışında görünmez.
Genel Restores Sayfası
Durumu ne olursa olsun tüm restore işlemlerini görmek için kenar çubuğundaki Restores bölümüne gidin. Tablo şu bilgileri gösterir:
- Target Repository: Backup'ın restore edildiği repository; Git sağlayıcısının simgesiyle (GitHub, GitLab veya Bitbucket) birlikte gösterilir.
- Source Repository: Backup'ın asıl alındığı repository; o da sağlayıcı simgesiyle birlikte gösterilir.
- Scopes: Restore edilen scope'lar (örneğin Code & Commits).
- Start Date / Finish Date: Restore işleminin başlama ve bitiş zamanları.
- Elapsed Time: Restore işleminin toplam süresi.
- Size: Restore edilen verinin toplam boyutu.
Sayfa ayrıca restore işlemlerini bulmanız ve takip etmeniz için şu araçları sunar:
- Arama: Listeyi hedef repository adına göre filtreleyin.
- Status: Yalnızca seçtiğiniz durumlardaki restore'ları gösterin: Pending, In Progress, Completed, Partially Completed, Failed, Cancelled veya Paused.
- Tarih aralığı: Listeyi takvimden seçtiğiniz bir tarih aralığıyla daraltın.
- Sayfalama: Sayfalar arasında gezinin ve sayfa başına gösterilen satır sayısını değiştirin.
- Yenileme: Listeyi anında güncellemek için sayfanın sağ üst köşesindeki yenileme butonuna tıklayın.
Restore Detaylarını Görüntüleme
Bir restore işleminin tüm detayları Activity sayfasında yer alır. Oradaki ilgili restore satırını açarak şunları görebilirsiniz:
| Alan | Açıklama |
|---|---|
| Execution ID | Bu restore işleminin benzersiz kimliği; yanında kopyalama butonu bulunur. |
| Correlation ID | Bu restore'a ait tüm olayları birbirine bağlayan kimlik; yanında kopyalama butonu bulunur. |
| Source Repository | Backup'ın alındığı repository'ye giden bağlantı. |
| Target Repository | Backup'ın restore edildiği repository'nin tam adı. |
| Created At / Started At / Completed At | Restore işleminin oluşturulma, başlama ve tamamlanma zaman damgaları. |
| Duration | Restore işleminin toplam süresi; hazır olduğunda gösterilir. |
| Scope Durumları | Restore'daki her scope; kendi durumu ve mesajıyla birlikte listelenir. |
| Hata Nedeni | Başarısız veya kısmen tamamlanan restore'larda, neyin yanlış gittiğini anlaşılır bir dille açıklayan mesaj. |
Bir restore işlemiyle ilgili destek ekibiyle iletişime geçerken Execution ID ve Correlation ID değerlerini paylaşın: her değerin yanındaki kopyalama butonlarıyla bunları birebir alabilirsiniz.
Restore İşlemini İptal Etme
Hâlâ çalışan bir restore işlemini iptal edebilirsiniz; örneğin takılı görünen veya yanlışlıkla başlatılan bir restore:
- Ekranın sağ altındaki Background jobs panelini açın. Panel tüm sayfalarda bulunur.
- Çalışan restore'u bulun ve iptal simgesine tıklayın.
GitSec Cancelling the run bildirimini gösterir, restore durdurulur ve durumu Cancelled olarak güncellenir. Sona ermiş restore işlemleri iptal edilemez.
Restore Başlatma
Restore başlatmanın iki yolu vardır:
- Backup Snapshots sayfasından: Herhangi bir backup satırındaki restore butonuna tıklayın.
- Bir repository'nin Restore tab'ından: Bir backup seçin ve wizard'ı başlatın.
Her iki yöntem de Restore Wizard ekranını açar.
Backup'larınızı kendi storage'ınızda tutuyorsanız ve GitSec'i kullanamıyorsanız kaynak kodu kendiniz de restore edebilirsiniz. Bkz. Kendi Storage'ınızdan Restore.