Ana içeriğe geç

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 Genel BakışRestore Genel Bakış

Restore App ve Backup App Karşılaştırması​

GitHub'a restore yaparken GitSec iki ayrı GitHub App kullanır:

AppİzinlerAmaç
Backup AppSalt okunurBackup oluşturmak için repository verilerinizi okur.
Restore AppOkuma ve YazmaRestore 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 on-demand yüklenir

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.

All Repositories seçilmeli

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:

ScopeGitHubGitLabBitbucket
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:

AlanAçıklama
Execution IDBu restore işleminin benzersiz kimliği; yanında kopyalama butonu bulunur.
Correlation IDBu restore'a ait tüm olayları birbirine bağlayan kimlik; yanında kopyalama butonu bulunur.
Source RepositoryBackup'ın alındığı repository'ye giden bağlantı.
Target RepositoryBackup'ın restore edildiği repository'nin tam adı.
Created At / Started At / Completed AtRestore işleminin oluşturulma, başlama ve tamamlanma zaman damgaları.
DurationRestore 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 NedeniBaşarısız veya kısmen tamamlanan restore'larda, neyin yanlış gittiğini anlaşılır bir dille açıklayan mesaj.
Destek talebinde neleri iletmelisiniz

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:

  1. Ekranın sağ altındaki Background jobs panelini açın. Panel tüm sayfalarda bulunur.
  2. Ç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:

  1. Backup Snapshots sayfasından: Herhangi bir backup satırındaki restore butonuna tıklayın.
  2. 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.