İçeriğe geç

Bir çalışma alanına depo ekleme

Bu kılavuz, bir Git checkout’unu bir çalışma alanına nasıl kaydedeceğinizi, nasıl yeniden indeksleyeceğinizi ve nasıl kaldıracağınızı gösterir.

Depolar çalışma alanı kapsamlıdır. Küresel bir kayıt defteri ve ayrı bir bağlama adımı yoktur: bir depo eklemek ile onu bir çalışma alanına koymak aynı eylemdir. İki çalışma alanına kaydedilen aynı checkout, iki farklı kimliğe sahip iki bağımsız satır haline gelir — çalışma alanları arasında bir deponun kimliği dosya sistemi yoludur, hiçbir zaman kimliği değil.

Bir klasör ancak şu üç koşulun tümü sağlandığında kaydedilebilir:

  1. Bir git çalışma ağacının içindedir.
  2. Bu çalışma ağacının bir origin uzak deposu vardır.
  3. origin uzak deposu desteklenen bir kod barındırıcıya işaret eder: github.com, gitlab.com veya bitbucket.org.

Bunların dışındaki her şey, kayıt sırasında açık bir mesajla reddedilir: “Folder is not inside a git work tree.”, “No origin remote configured for this repository.” veya “The origin remote is not hosted on a supported forge (github.com, gitlab.com, bitbucket.org).”. Yalnızca yerelde çalışan bir mod yoktur.

Kod barındırıcı uzak depodan okunur ve depoda saklanır — onu asla siz seçmezsiniz. Bir çalışma alanı üçünün de depolarını aynı anda barındırabilir ve her biriyle kendi API’si ve kendi kimlik bilgisi üzerinden konuşulur. GitLab’ın iç içe ad alanları korunur; bu nedenle gitlab.com/group/subgroup/project, sahibi group/subgroup, adı project olacak şekilde kaydedilir.

Klasör ayrıca cc_server’ı barındıran makinede, o sunucunun --repo-roots dizinlerinden birinin içinde bulunmalıdır. Bu izin listesi varsayılan olarak sunucu kullanıcısının ev dizinidir ve bir kökün üstüne çıkan gezinme reddedilir.

  1. Ayarlar → Çalışma alanı → Depolar sayfasını açın (/workspaces/<id>/settings/workspace/repositories).
  2. Depo ekle’ye tıklayın.

İletişim kutusu, sizin dosya sisteminizde değil sunucunun dosya sisteminde gezinebilen bir tarayıcıdır. Akış masaüstünde, web’de ve telefonda aynıdır; çünkü yerel bir klasör seçici, klasörü yanlış makinede seçerdi.

  1. Sunucunun yapılandırılmış kökleri içinde gezinin. Git checkout’u olan klasörler işaretlenir.
  2. İstediğiniz kadarını işaretleyin. Seçim, siz gezinirken korunur; böylece birkaç klasörden checkout toplayabilirsiniz.
  3. Hepsini tek bir toplu işlemde kaydedin.

Başarısız olan tek bir seçim, partinin geri kalanını asla düşürmez — oluşturulan kimlikleri, reddedilen her yol için de yol başına bir hatayı alırsınız. Bu çalışma alanında zaten bulunan bir yolu yeniden kaydetmek, kopya üretmek yerine mevcut depoyu döndürür.

Kaydedilen her depo, listede owner/name değeriyle, kod barındırıcısını adıyla belirten bir rozetle ve sunucudaki yoluyla görünür. GitHub depoları ayrıca sahibin avatarını gösterir; diğer kod barındırıcılarının tahmin edilebilir bir sahip avatarı URL’si yoktur, bu yüzden baş harflere düşerler.

Kod barındırıcı rozeti karma bir çalışma alanında önemlidir: iki depo, farklı kod barındırıcılarında acme/web adını taşıyor olabilir ve farklı davranırlar — bir incelemenin neler yapabileceği ve bir bağlantının nereye gittiği buna bağlıdır.

Kayıt, bu çalışma alanına kapsamlı bir RepoAdded olayı tetikler ve bu olay o checkout için index_code pipeline’ını başlatır. Kod grafiğini dolduran şey budur, böylece aramanın ve etki analizinin yanıtlayacak bir şeyi olur.

Yalnızca dili için hazır bir grameri bulunan dosyalar indekslenir (Dart, JavaScript, TypeScript, TSX, PHP, Python, Rust, Zig, C, C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB ve Ada). Bkz. Kod grafiğiyle kod arama.

Her satırda bir Kodu indeksle düğmesi bulunur. Ona tıklayarak o checkout için indeksleyiciyi yeniden çalıştırın; çalışma sırasında düğme, tamamlanan dosyaları toplam üzerinden gösteren bir ilerleme göstergesine dönüşür ve yanına bir iptal denetimi gelir. İş bittiğinde ise sembol sayısını gösteren bir onay işaretine ya da çalıştırma başarısız olduysa bir uyarıya yerleşir.

Bir satırdaki tutamacı sürükleyin. Belirlediğiniz sıra, uygulamadaki her depo listesinin geri okuduğu sıradır.

Bir satırdaki bağlantı simgesi, deponun GitHub sahibini ve depo adını düzenlemek için bir düzenleyici açar — uzak depo yeniden adlandırıldığında veya taşındığında kullanışlıdır.

  1. Ayarlar → Çalışma alanı → Depolar sayfasını açın.
  2. Satırdaki çöp kutusu simgesine tıklayın.
  3. “Depo çalışma alanından kaldırılsın mı?” onayını verin.

İletişim kutusu ne yaptığını söyler: “ad bu çalışma alanından kaldırılacak. Diskteki yerel dosyalara dokunulmaz.”

Kaldırma işlemi, depo satırını bu çalışma alanından siler ve ona bağlı kod grafiği satırlarını — semboller, kenarlar, dosyalar ve indeks kontrol noktaları — ayrıca üzerindeki her üye için verilmiş depo izinlerini, alan-depo bağlantılarını ve yalıtılmış checkout kayıtlarını zincirleme olarak temizler. Aynı checkout başka bir çalışma alanına kaydedilmişse bağımsız bir satırdır ve etkilenmez. Bu kayıtların işaret ettiği diskteki çalışma ağaçları silme işlemiyle ortadan kaldırılmaz.