Git Clone
- Türkçe karşılığı
- klonlama
- Okunuşu
- git klon
Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.
Kısaca
Git clone, mevcut bir deponun tüm geçmişiyle birlikte eksiksiz bir kopyasını indiren ve çalışmanız için bilgisayarınızda hazırlayan bir Git komutudur.
git clone nedir?
git clone, bir projeye katıldığınızda genellikle çalıştırdığınız ilk komuttur. Bir URL verildiğinde yeni bir klasör oluşturur, uzak depodaki her commit ve branch'i indirir ve varsayılan branch'i, genellikle main'i checkout eder; böylece dosyalar diskte görünür. Sonuç, yalnızca son dosyaların bir kopyası değil, tüm geçmişe sahip eksiksiz ve bağımsız bir depodur.
Arka planda klonlama, URL'ye geri işaret eden origin adlı bir Git remote'u ve her uzak branch'in o andaki konumunu kaydeden origin/main gibi remote-tracking branch'ler de kurar. Yerel main'iniz origin/main'i izleyecek şekilde yapılandırılır; düz bir git pull veya git push'un hemen çalışmasının nedeni budur. Depolar, özel projelerin bir token ya da kayıtlı kimlik bilgileri istediği HTTPS üzerinden veya bir anahtar çiftiyle kimlik doğrulayan SSH üzerinden klonlanabilir.
Klonlama, tek bir klasörü ödünç almak yerine arşiv kutuları dahil bütün bir dosya dolabını fotokopiyle çoğaltmak gibidir. Çok büyük depolarda daha azını kopyalayabilirsiniz: --depth 1 ile yapılan shallow clone yalnızca son commit'i indirir, --filter=blob:none ile yapılan partial clone ise dosya içeriklerini yalnızca gerektiğinde getirir. Shallow clone'lar, yalnızca güncel kodun önemli olduğu CI hatlarında yaygındır.
Clone sıklıkla fork ve pull ile karıştırılır. Fork, bir deponun barındırma platformunda kendi hesabınız altında yapılmış kopyasıdır ve genellikle üzerinde yerelde çalışmak için fork'unuzu sonradan klonlarsınız. Bir depoyu bir kez klonlarsınız; git pull ise sonrasında yeni commit'leri getirmek için tekrar tekrar çalıştırdığınız komuttur.
Önemli noktalar
git clone <url>bir depoyu tüm geçmişiyle makinenize kopyalar.- Otomatik olarak
originadlı bir remote ekler ve varsayılan branch'i checkout eder. - Her klon, çevrimdışı kullanılabilen eksiksiz bir depodur.
- Shallow (
--depth 1) ve partial (--filter=blob:none) klonlar daha az veri indirir. - Bir kez klonlarsınız; sonrasında güncel kalmak için
git pullkullanırsınız.
Örnek
# Copy a repository into a new folder named after it
git clone https://github.com/example/my-project.git
# Clone over SSH into a folder with a different name
git clone git@github.com:example/my-project.git work-copy
# Clone only the latest commit (faster, common in CI)
git clone --depth 1 https://github.com/example/my-project.git ci-copy
# Look inside a clone: origin points back to the source URL
cd work-copy
git remote -v
git branch -a # local main plus remote-tracking branchesSık sorulan sorular
git clone ile git pull arasındaki fark nedir?
git clone, uzak bir depodan yepyeni bir yerel depo oluşturur ve bir kez çalıştırılır. git pull ise zaten sahip olduğunuz bir depoyu, uzak depodan yeni commit'leri alıp mevcut branch'inize merge ederek günceller.
Klonlamak ile fork'lamak arasındaki fark nedir?
Klonlama, bir depoyu bilgisayarınıza kopyalar. Fork'lama ise onu bir barındırma platformundaki kendi hesabınıza kopyalar; insanlar çoğunlukla önce bir projeyi fork'lar, sonra fork'unu klonlar.
Belirli bir branch nasıl klonlanır?
Klonlamanın hemen ardından o branch'i checkout etmek için git clone --branch <name> <url> kullanın. Git'in yalnızca o branch'in geçmişini indirmesini istiyorsanız --single-branch ekleyin.
İlgili sayfalar
- RepositorySürüm Kontrolü, s. 34Repository, bir projenin tüm dosyalarını ve sürüm kontrol sisteminin kaydettiği her değişikliğin eksiksiz geçmişini barındıran depolama alanıdır.
- ForkSürüm Kontrolü, s. 9Fork, başkasının deposunun bir barındırma platformundaki kişisel kopyasıdır; özgürce denemeler yapmanızı ve değişiklikleri özgün projeye geri önermenizi sağlar.
- Git RemoteSürüm Kontrolü, s. 19Git remote, deponuzun genellikle bir sunucudaki başka bir kopyasına verilen, origin gibi bir kısa addır; commit'leri oraya push eder, oradan pull edersiniz.
- Git PullSürüm Kontrolü, s. 17Git pull, uzak bir depodan yeni commit'leri indiren ve bunları hemen mevcut yerel branch'inize entegre eden bir Git komutudur.
- Git PushSürüm Kontrolü, s. 18Git push, yerel commit'lerinizi uzak bir depoya yükleyip oradaki ilgili branch'i güncelleyen Git komutudur; böylece başkaları çalışmanızı görüp kullanabilir.
- GitSürüm Kontrolü, s. 10Git, dosyalardaki değişiklikleri zamanla izleyen ücretsiz, açık kaynaklı dağıtık sürüm kontrol sistemidir; iş birliğini ve hataları geri almayı kolaylaştırır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin