Günümüz teknolojileri ve yoğun bir şekilde bilgi paylaşımı yapılması, yazılım sektörüne bir gelişim sağladı. Github gibi teknolojiler sayesinde bilim, yazılım, savunma sanayi gibi birçok alanda açık kaynak koda sahip proje hayata geçirilmeye başlandı ve böylece dünyanın neresinde olursa olsun farklı insanların aynı projede iş birliği ile ortak çalışma yürütmesi de mümkün hale geldi.
Bildiğiniz üzere içerisinde yazılım barındıran tüm ürünlerin arkasında geniş bir ekiple beraber büyük bir emek ve zaman var. Ekip çalışması zaten zor, özellikle bir de konu yeni bir yazılım geliştirmekse işler daha da karmaşık bir hal alabilir. GitHub servisi tam da bu tür durumları ortadan kaldırmak için var.
Github, yapılan çalışmaların, varsa değişikliklerin bulut sistemi içerisinde tutularak tekrar ulaşılabilmeyi sağlayan web tabanlı bir platform diyebiliriz. Ekip halinde geliştirilen yazılım projelerinde internet tabanlı bir depolama alanı sunmakta. Siz de bir şey saklamak için kendinize bir depo oluşturmanız gerek. Bunun için GitHub’a bir kullanıcı adı ve e-mail ile üye olmanız gerekiyor. Kendi kullanıcı adınıza olan bu alana projelerinizi yükleyebilirsiniz.
Ayrıca tamamladığınız projeleri bu platform üzerinde herkese açık veya kapalı bir şekilde de tutabilirsiniz. Kayıt edilen bir projeye uzaktan bir kişinin de erişimi mümkün. İstiyorsanız, projeye kimin hangi saatte eriştiği, nerede değişiklik yaptığını da görüntüleyebilirsiniz.
Bunlara ek olarak, birçok şirket ve işverenin de Github hesabı mevcut. Bu nedenle, bir iş bulmayı planlıyorsanız bir Github profiliniz mutlaka olmalı.
Merak edilen GitHub/GitLab Nedir, Arasındaki Fark Nelerdir?
GitHub ve GitLab, Git sürüm kontrol sistemini barındıran bulut tabanlı hizmetlerdir. Aynı zamanda yazdığınız kodları ve yazılım projelerini depolayabileceğiniz alanlardır.
GitHub, yalnızca GitHub sunucularında çalışmanıza izin verirken GitLab, kendi sunucunuza kurarak veya GitLab sunucularında kullanabilmenize olanak tanır.
Özet olarak, GitHub vs GitLab farklılıkları aşağıdaki tabloda bulabilirsiniz:
Özellikleri | GitLab | GitHub |
Ana Sayfa | Eylül 2011 | Nisan 2008 |
Ücretsiz plan | Sınırsız kamu ve özel depoları | Yalnızca herkese açık depolar için ücretsiz |
Ücretli planlar | Premium Plan için kullanıcı başına yıllık 19 ABD Dolarından başlayan fiyatlarla. Veya Ultimate için kullanıcı başına yıllık 99 ABD doları. | Ekip için kullanıcı ve yıl başına 4 ABD doları, İşletmeler için 21 ABD doları veya One için daha fazla. |
Kod inceleme işlevleri | evet | evet |
wiki | evet | evet |
Hataları ve sorunları izleme | evet | evet |
Özel şube | evet | evet |
Sistem oluştur | evet | evet (üçüncü şahıs hizmetiyle) |
Projeleri içe aktar | evet | Yok hayır |
Projeleri dışa aktar | evet | Yok hayır |
Zaman takibi | evet | Yok hayır |
ağ sağlayıcısı | evet | evet |
Kendi kendine barındırma | evet | evet (iş planıyla) |
popülerlik | 546.000'den fazla proje | 69.000.000'den fazla proje |
Git kullanmak istiyorsanız
- Öncelikle bilgisayarınızdan git adresinden bilgisayarınıza uygun olanı indirerek kurmanız gerekmektedir. (Git Bash ve Git Gui)Daha sonra cmd ekranını açarak;
git --version
yazarak bilgisayarınızda Git’in kurulup kurulmadığını rahatlıkla görebilirsiniz.
- İlk olarak yapmanız gereken şey, kullanacağınız servise yukarıda da bahsettiğim gibi üye olmak. Daha sonra ise bir depo (repository) oluşturmaktır. Bunun için üst kısımda bulunan + simgesine tıklayın ve “New repository” seçeneğine tıklayın veya sağ tarafta bulunan “Yeni proje” düğmesine basın.
- Ardından, gelen sayfada “Boş proje oluştur” seçeneğine tıklayarak bir sonraki aşamaya geçin. Gelen sayfada boşlukları kendinize uygun doldurabilirsiniz.
Örneğin, bu sayfa deponuzun adını, açıklamasını, herkes tarafından erişilebilir mi (Public) veya sadece izin verilenlerin erişebileceği (Private) bir depo mu olsun gibi bilgileri girebileceğiniz bir alan mevcut.
GitHub kullanmadan önce aşağıda belirttiğim kavramları bilmenizde fayda var:
Repository (repo): Sürüm geçmişleri de dahil tüm dosyaları bulabileceğiniz alan.
Branch: Ana projeyi etkilemeyecek şekilde güncelleme yaptığınız kısım. Branch’i diğerlerinden ayrı bir geliştirme yapmak istediğiniz zaman kullanabilirsiniz.
Markdown (.md): Düz metni GitHub koduna dönüştürmeye yarayan eklenti ve bence dokümantasyon açısından çok da faydalı.
Commit Changes: Repo’da bulunan bir değişikliği kaydetmeye yarar.
git commit
bu komut commit oluşturmayı sağlamakta. Bu işlem ile yapmış olduğumuz değişiklikleri de içeren proje paketlenmiş olacak.git commit -m
“projenin ilk sürümü” örneği şeklinde kullanabilirsiniz.Pull Request (PR):Bir alanda yapılan değişikliğin başka bir alanla birleştirmek isterseniz bu terim sayesinde bir istek atabiliyorsunuz.
Origin: Çalışmanın ana dalı olan Origin (kaynak) olarak ifade edilmekte.
Merge: Pull Request (PR) onayı sonrası birleştirme ve dosyayı ana projeye ekleme.
Issues:Proje panosundaki değişiklikleri izlemenizi sağlar.
Clone: Github üzerindeki bir projeyi bilgisayarınıza kopyalayıp yani indirmenize yarar. Bunun için “git clone” komutunu kullanabilirsiniz.
Federalist: GitHub değişikliklerini dağıtan ve önizleme imkanı sunan platform.
Ayrıca diğer bazı git komutları da denemeniz açısından belirtmek istiyorum:
git add : Bu komut ile yaptığınız güncellemeleri direkt Git’e eklemenizi sağlar. (git add . ile yapılan tüm değişiklikler Git’e eklenir)
git push: Local’de yaptığınız değişiklikleri uzak sunucuya (Github, Gitlab..) göndermenizi sağlar.
git pull: Uzak sunucudaki değişiklikleri veya herhangi bir projeyi local’inize çekmeyi sağlar.