"Repository" (Repo) Nedir?
Repository veya kısaca "repo", bir yazılım projesine ait tüm dosyaların ve bu dosyalardaki değişikliklerin tamamının geçmişiyle birlikte saklandığı bir depolama alanıdır. Bir projenin ana klasörü olarak düşünülebilir, ancak bu klasör, projenin her bir anının kaydını tutan bir zaman makinesi gibidir.
Ne İçerir?: Bir repo, sadece projenin kaynak kod dosyalarını (örneğin, .js, .py, .java dosyaları) değil, aynı zamanda projenin çalışması için gerekli olan diğer tüm varlıkları da içerir. Bunlar arasında resimler, belgeler (README dosyası gibi), konfigürasyon dosyaları ve daha fazlası bulunabilir. En önemlisi, repo, bu dosyalarda yapılan her bir değişikliğin ("commit") kaydını tutan gizli bir ".git" klasörü içerir.
Lokal ve Uzak Repo: Git'in dağıtık yapısı nedeniyle, genellikle bir projenin iki tür reposu bulunur: 1. Lokal Repo (Local Repository): Geliştiricinin kendi bilgisayarında bulunan repo kopyasıdır. Geliştirici, tüm değişikliklerini, denemelerini ve "commit"lerini önce bu lokal repoda yapar. İnternet bağlantısı olmadan da burada çalışabilir. 2. Uzak Repo (Remote Repository): Projenin, GitHub, GitLab veya Bitbucket gibi bir platformda barındırılan merkezi kopyasıdır. Geliştiriciler, lokal repolarında yaptıkları değişiklikleri, ekibin geri kalanıyla paylaşmak için bu uzak repoya "push" ederler (iterler). Aynı şekilde, diğerlerinin yaptığı değişiklikleri kendi lokal repolarına almak için de uzak repodan "pull" yaparlar (çekerler).
Önemi: Repo, bir projenin kalbidir. Tüm kodun, geçmişin ve iş birliğinin merkezinde yer alır. Geliştiricilerin organize bir şekilde çalışmasını, değişiklikleri güvenli bir şekilde yönetmesini ve projenin bütünlüğünü korumasını sağlar.