Repository
- Türkçe karşılığı
- depo
- Okunuşu
- ripozitori
Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.
Kısaca
Repository, 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.
Git'te repository nedir?
Genellikle repo olarak anılan repository, sürüm kontrolü altındaki bir projenin yuvasıdır. Projenin dosyalarını ve her commit, branch ve etiketin (tag) kaydını içerir; böylece kodun zaman içinde nasıl değiştiğini görebilir ve önceki herhangi bir sürümü geri getirebilirsiniz. Git'te bu geçmiş, projenin kök dizinindeki gizli bir .git klasöründe durur.
Git depoları iki türlüdür. Yerel depo kendi bilgisayarınızdadır; dosyaları orada düzenler ve commit'leri orada yaparsınız. Uzak depo ise bir sunucuda ya da GitHub, GitLab veya Bitbucket gibi bir platformda barındırılır ve ekibin git push, git pull ve git fetch ile senkronize olduğu ortak kopya işlevi görür. Yeni bir depoyu git init ile oluşturur, mevcut bir depoyu ise geçmişiyle birlikte git clone ile kopyalarsınız.
Repository, bir kitabın yalnızca son baskısını değil, yazılmış her taslağını; kimin neyi neden değiştirdiğine dair notlarla birlikte saklayan bir kütüphane arşivi gibidir. Git dağıtık olduğu için her klon, tüm geçmişiyle eksiksiz bir depodur; dolayısıyla merkezi sunucu çökse bile çalışmaya devam edilebilir.
İnsanlar repository sözcüğünü çoğu zaman GitHub gibi bir sitedeki proje sayfası anlamında kullanır, ancak depo aslında dosyalar ile geçmişlerinin, nerede saklanırsa saklansın, bütünüdür. Depo, başkasının deposunun kendi hesabınız altındaki kopyası olan fork'tan da farklıdır. npm gibi paket kayıt defterlerine de bazen gevşek biçimde depo denir, ancak bunlar kaynak kodu geçmişini değil yayımlanmış paketleri saklar.
Önemli noktalar
- Repository, bir projenin dosyalarını tüm değişiklik geçmişiyle birlikte saklar.
- Git bu geçmişi gizli bir
.gitdizininde tutar. - Yerel depolar makinenizde bulunur; uzak depolar paylaşım için barındırılır.
git inityeni bir depo oluşturur,git cloneise mevcut bir depoyu kopyalar.- Her Git klonu, yalnızca son dosyaların anlık görüntüsü değil, eksiksiz bir depodur.
Örnek
# Create a new, empty repository in the current folder
git init
# Or copy an existing remote repository, including its full history
git clone https://github.com/example/my-project.git
cd my-project
# List the remote repositories this clone is connected to
git remote -v
# Download new commits from the remote without changing your files
git fetch originSık sorulan sorular
Yerel ve uzak depo arasındaki fark nedir?
Yerel depo, commit'lerinizi yaptığınız, kendi bilgisayarınızdaki kopyadır. Uzak depo ise GitHub ya da bir şirket sunucusu gibi başka bir yerde barındırılır ve onunla git push ve git pull kullanarak senkronize olursunuz.
Bir depoyu klonlamak ile fork'lamak arasındaki fark nedir?
Klonlama, git clone ile bir deponun kopyasını bilgisayarınıza indirir. Fork'lama ise barındırma platformunun bir özelliğidir ve başkasının deposunun kopyasını o platformdaki kendi hesabınız altında oluşturur; ardından genellikle üzerinde çalışmak için onu klonlarsınız.
Bare repository nedir?
Bare repository yalnızca Git'in geçmiş verilerini içerir, dosyaların çalışma kopyasını içermez ve git init --bare ile oluşturulur. Genellikle sunucularda, insanların push ve pull yaptığı merkezi bir depo olarak kullanılır.
İlgili sayfalar
- 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.
- CommitSürüm Kontrolü, s. 5Commit, Git'te projenin dosyalarının; benzersiz bir kimlik, yazar, zaman damgası ve değişikliği anlatan bir mesajla kaydedilmiş anlık görüntüsüdür.
- BranchSürüm Kontrolü, s. 2Git'te branch, bir özellik ya da düzeltme üzerinde, birleştirene kadar ana kodu etkilemeden çalışmanızı sağlayan bağımsız bir geliştirme hattı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.
- .gitignoreSürüm Kontrolü, s. 1.gitignore, Git'in izlememesi gereken bağımlılık, derleme çıktısı, günlük ve gizli bilgi gibi dosya ve klasörlerin kalıplarını listeleyen düz metin dosyadır.
- MonorepoSürüm Kontrolü, s. 31Monorepo, uygulamalar, servisler ve paylaşılan kütüphaneler gibi birçok projenin kodunu birlikte yönetilen tek bir sürüm kontrol deposunda tutma yaklaşımıdır.
- Sürüm KontrolüSürüm Kontrolü, s. 38Sürüm kontrolü, dosyalardaki her değişikliği kaydeden; kimin neyi değiştirdiğini görmeyi, eski sürümlere dönmeyi ve paralel çalışmayı sağlayan sistemdir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin