Depo nedir?

Depo, geliştiricilerin bir uygulamanın kaynak kodunda değişiklikler yapmak ve bu değişiklikleri yönetmek için kullandıkları, merkezi bir dijital depolama alanıdır. Geliştiriciler, yazılım geliştirirken klasörleri, metin dosyalarını ve diğer belge türlerini depolamak ve paylaşmak zorundadırlar. Depolar, geliştiricilerin kod değişikliklerini kolay bir şekilde izlemelerine, dosyaları aynı anda düzenlemelerine ve aynı proje üzerinde herhangi bir konumdan verimli bir şekilde iş birliği yapmalarına olanak sağlayan özelliklere sahiptir. 

Depo neden önemlidir?

Depo, yazılım geliştirme ekiplerine ana kaynak kodunu tehlikeye atmadan bir yazılım programının kodunda birden fazla değişiklik yapma olanağı tanır. Değişiklikleri doğrudan ana dala uygulamak yerine, değişiklikleri düzenlemek ve incelemek için deponun özelliklerini kullanabilirler. Böylece iki veya daha fazla geliştirici, kodun aynı bölümünü düzenlerken oluşabilecek birleştirme çakışmaları azaltılır. 

Geliştiriciler, uygulamanın üretim ortamındaki sürümünü etkilemeden yeni özellikler veya hata düzeltmeleri sunmak için de depoları kullanır. Yeni bir dal oluşturarak veya orijinal kaynak kodunu kopyalayarak bu yerel deponun üzerinde çalışırlar. Bu sayede geliştiriciler, yeni değişikliklerin müşterilerin kullanımına açılmadan önce düzgün şekilde test edilmesini sağlar. 

Depoların işletmeler için sunduğu avantajlar

Uygulama geliştirme süreçleri için depoları kullanan işletmeler daha çevik olabilir ve değişen müşteri taleplerine daha hızlı yanıt verebilir. Geliştiriciler, canlı uygulamanın kararlılığını etkilemeden yeni özellikler üzerinde çalışabilir. Depolar, geliştiricilerin değişiklikleri hızla kullanıma sunmasına ve potansiyel sorunları çabucak çözümlemesine olanak tanır. Kuruluşlar ayrıca uzaktan çalışan geliştiriciler arasında uygulama geliştirme görevlerini koordine edebilir. 

GitHub deposu nedir?

GitHub, geliştiricilerin proje kodlarını organize bir şekilde depolamasına ve bu kodlar üzerinde çalışmasına olanak tanıyan, bulut tabanlı bir depodur. Bir sürüm denetleme sistemi olan Git'in üzerine kurulan GitHub, geliştiriciler arasında iş birliği imkanlarını artıran ek özellikler içerir. Depo işlevlerinin kullanımını kolaylaştıran bir grafik kullanıcı arabirimi sağlar.

GitHub ayrıca geliştiriciler için bir çevrimiçi açık kaynak kodu topluluğu haline gelmiştir. Geliştiriciler GitHub'da bir tartışmaya katılarak, yardım sunarak veya herkese açık projelere uzmanlıklarıyla katkıda bulunarak meslektaşlarıyla bağlantı kurabilir. 

GitHub dünya genelindeki geliştirici toplulukları arasında en popüler ve en sıklıkla kullanılanı olduğundan, bu blog gönderisinin odak noktası GitHub depolarıdır.

Bir GitHub deposu nasıl çalışır?

Bir GitHub deposu, geliştiricilere yerel olarak yüklenmiş bir sürüm denetimi aracıyla uzaktan ve dağıtılmış bir biçimde iş birliği yapma olanağı tanır. Geliştiriciler, bir sürüm denetimi yazılımı olan Git üzerindeki işlevleri uygulamak için komut satırı arabirimi kullanır.

Git, geliştiricilere ana kaynak koduyla kod değişikliklerini oluşturma, yönetme ve birleştirme olanağı tanır.

Oluşturma

Geliştiriciler önce proje dizininde kod dosyalarını içeren yeni bir depo oluşturur. Alternatif olarak, mevcut bir Git deposunu klonlamaları da mümkündür. Git deposu genellikle projeyi açıklayan bilgiler gösteren bir README dosyası içerir.

Yapılandırma

Geliştiriciler yerel depoda değişiklik yapmadan önce, kullanıcı adı ve e-posta adresi gibi bilgiler ekleyerek depoyu yapılandırır. Bu, katılımcılara ilgili Git deposunun oluşturucusunu tanıma imkanı verir. Bundan sonra geliştirici kodlarda değişiklik yapabilir ve git commit komutuyla bu değişiklikleri kaydedebilir. 

Değiştirme

Geliştirici, deposundaki kodlarda değişiklikler yapar. Başta değişiklikler sadece kendisinin yerel sisteminde depolanır. Hazır olduğunda, değişiklikleri merkezi depoyla birleştirebilir. Başka bir geliştirici aynı dosyada değişiklik yaparsa değişiklikleri manuel olarak inceleyebilir ve varsa çakışmaları çözümleyebilir. 

Bir GitHub deposunun temel özellikleri nelerdir?

GitHub depoları geliştiricilere aşağıdaki özelliklerle birlikte merkezileştirilmiş kod sürümü oluşturma, paylaşma ve iş birliği imkanları sunar. 

Dallanma

Dallanma, GitHub'da deponun kopyasını oluşturma sürecidir. Bir GitHub deposunda varsayılan olarak, orijinal kaynak kodlarının ve geliştiricilerin başta yüklediği dosyaların bulunduğu bir ana dal yer alır. Geliştirici, kodun belirli bir bölümünde değişiklik yapması gerektiğinde, kod dosyalarının eksiksiz bir kopyasını içeren bir dal oluşturup dalı buna göre etiketler.

Geliştiriciler ana depodan birkaç farklı dal oluşturabilir. Örneğin, geliştiriciler yeni yazılım işlevleri için kodlar yazacakları bir özellik dalı ve bildirilen sorunları gidermek için ayrı bir dal oluşturabilir.

Uygulama

Uygulama özelliği, geliştiricilere daldaki kod dosyalarında yaptıkları tüm değişiklikleri kaydetme imkanı verir. GitHub'da geliştiriciler, değişiklikleri uyguladıkları sırada, kodda yaptıkları yeni değişiklikleri açıklayabilir. Geliştiricilerin değişiklikleri açıklaması, ekip üyelerinin yapılan değişikliklerden ve bu değişikliklerin yapılma sebeplerinden haberdar olmasını sağlar. 

Çekme isteği

Çekme isteği, ana dal üzerinde çalışan diğer katılımcılara veya dalın sahibine, uygulanan değişiklikleri incelemeleri için resmi bir mesaj gönderir. Diğer katılımcılar uygulanması istenen kodları birleştirmeye göndermeden önce kodları inceleyebilir, yorumlayabilir veya kodlarda ek değişiklikler yapabilir. Katılımcılar bir çekme isteğini incelerken orijinal kodda hangi değişikliklerin yapıldığını görebilir. 

Birleştirme

Birleştirme, uygulanan değişiklikleri ana dala uygulayan bir GitHub sürecidir. Bu süreç, katılımcılar uygulanan değişiklikleri inceleyip uyguladıktan sonra gerçekleştirilir. Sonrasında GitHub'da başlattıkları birleştirme isteği, değişiklikleri orijinal kodla birleştirmeden önce bir dizi kontrol gerçekleştirir. 

Git deposu türleri nelerdir?

Geliştiriciler, farklı izin düzeyleriyle iki tür Git deposu oluşturabilir. 

Çıplak depolar

Çıplak depolar yalnızca dizin klasörünü içerir. Geliştiriciler, çıplak depoda bulunan dosyaların üzerinde değişiklik yapamaz. 

Çıplak olmayan depolar

Çıplak olmayan depolar, geliştiricilerin üzerinde çalışabileceği ve değişikliklerini uygulayabileceği kaynak dosyaların kopyalarını içerir.

AWS, depo gereksinimlerinizi nasıl destekler?

Amazon Web Services (AWS) üzerinde çalışan AWS CodeCommit, özel Git depolarını güvenli bir şekilde barındırmak üzere kullanabileceğiniz bir çevrimiçi kod sürümü oluşturma sistemidir. CodeCommit, mevcut Git tabanlı araçlarınızla entegre olarak sorunsuz bir sürekli teslim ve sürekli entegrasyon (CI/CD) işlem hattı oluşturur. CodeCommit'i kullanabileceğiniz yollardan bazıları şunlardır:

  • Aktarım veya bekleme halinde olması fark etmeksizin, şifreleme ile otomatik olarak kodlarınızın güvenliğini sağlayın
  • Depolarınızı AWS ortamına daha yakın tutun
  • AWS Bulut'ta güvenli ve ölçeklenebilir iş birliği iş akışları ayarlayın

Hemen bir AWS hesabına kaydolarak depoları kullanmaya başlayın.

AWS'de sonraki adımlar

Ürünle ilgili diğer kaynaklara göz atın
Geliştirici Araçları Hizmetlerine göz atın 
Ücretsiz bir hesap açmak için kaydolun

AWS Ücretsiz Kullanım için anında erişim elde edin.

Kaydolun 
Konsolda oluşturmaya başlayın

AWS Yönetim Konsolu'nda oluşturmaya başlayın.

Oturum açın