AFAIK

Git Platformları: GitHub ve GitLab

Güncelleme:
Versiyon kontrol sistemleri (VCS) ve ardından git tarihçesi ve kurulumu ile devam eden yazı dizisine git kullanmamıza vesile olacak, bu süreci platform ölçeğinde özellikle katmış ...
GÖRSEL

Versiyon kontrol sistemleri (VCS) ve ardından git tarihçesi ve kurulumu ile devam eden yazı dizisine git kullanmamıza vesile olacak, bu süreci platform ölçeğinde özellikle katmış 2 önemli oyuncu ile devam ediyorum.

Git Platformları

Versiyon kontrol sistemleri (VCS) yazısında bazı önemli platformlardan / uygulamalardan bahsetmiştim. Git üzerine inşa edilen ve farklı kullanım ölçeklerine odaklanan pek çok alternatif olmasına karşın ben özellikle GitLab ve GitHub üzerinde durmak istiyorum. Bitbucket da esasında bu iki platformun hemen ardından gelmekte ve git veya mercurial sürüm kontrol sistemlerini kullanma imkanı sunmakta. Ancak, Bitbucket’ı şimdilik çok fazla kişisel deneyimim olmadığı için gözardı edeceğim. İlerileyen zaman içerisinde, edindiğim tecrübeler doğrultusunda elbette yazıya alternatifleri de dahil etmek isterim.

GitHub

Git, projelerin ve elbette geliştiricilerin önemli bir ihtiyacı olarak 2005 yılında (ilk release) kullanılabilir hale gelse de, özellikle farkındalık yarattığı sürecin GitHub ile başladığını söyleyebiliriz.

GitHub, Git versiyon kontrol sistemini kullanan ve öne çıkan platformlardan biri. Nisan 2019 verilerine göre platformu kullanan 36 milyondan fazla kullanıcı mevcut. Platforma ilk commit 2007 yılında gerçekleştirilmiş ve o günden bu güne GitHub 100 milyondan fazla repository’e ev sahipliği yapmakta. 1.

2007 yılında ilk adımları atılan, 2008 yılında resmi olarak Chris Wanstrath, PJ Hyett, Tom Preston-Werner ve Scott Chacon tarafından hayata geçirilen GitHub kendini “geliştirici şirketi” (developer company) olarak konumlandırmakta ve buna uygun olarak sıklıkla topluluk ilişkilerine yönelik attığı adımlarla kendisinden söz ettirmekte. İşbirlikçi bir topluluğu teşvik eden anlayışın neticesinde de en bilinen versiyon kontrol sistemlerinden biri haline gelmiş durumda. The State of the Octoverse sayfasından da ayrıca bir önceki yıla dair değerlendirmeleri görmek mümkün. Gelelim diğer detaylara.

2011 yılında kurumsal çözümleri de bünyesine dahil eden şirket, 2012 yılında aldığı 100 milyon dolarlık yatırım ile önemli bir döneme girmiş oldu. 2013 Mart’ında 3. milyon kullanıcıya ve 10 milyon repository’e ulaşan platform yine bu dönemde ilişkili olduğu topluluğu genişletmek anlamında teşvik edici bazı çalışmalara başladı. Bu çalışmaların meyvesi olarak 2014 yılında GitHub Developer Program duyuruldu ve hemen ardından Electron framework ile geliştirilen Atom metin editörü kullanıma sunuldu2. GitHub Student Developer Pack ile öğrencilere çeşitli avantajlar sunan GitHub sonraki her yıl pek çok konferans ile kullanıcılarına doğrudan gelişmeleri ve yeni özellikleri aktarmaya başladı3.

Gelişen, büyüyen topluluğu ve geliştiriciler tarafından bir lovemark haline gelmesinin neticesinde ise en büyük gelişme yaşandı. Microsoft 2018 yılında GitHub’ı bünyesine kattı4. Pek çok geliştirici için olumsuzluk olarak nitelendirilen bu durum bazı geliştiricilerin farklı platformlara geçiş yapmasına sebep olsa da platformun büyüme çizgisinde bir sapma oluşturacak yoğunluğa ulaşmadı. 2018 ve öncesi dönemde özel repo’lar ücretli kullanım ile mümkün iken 2019 itibariyle ücretsiz olarak sunulması da bu sürece ve kullanıcıların tavrına olumlu bir katkı sağlamış olabilir. Bu konu tartışmaya açık. Ancak, şu bir gerçek ki GitHub bir geliştirici için olmazsa olmaz araçlardan / platformlardan biri haline gelmiş durumda. Bir dönem neredeyse herkesin Facebook hesabı var ise, şimdilerde de her geliştiricinin bir GitHub hesabı var.

GitHub Neler Sunmakta?

Özellikle belirtmem gerekir ki, GitHub’ın en sevdiğim özelliklerinden biri pek çok farklı biçimde sunulan doküman yönetim anlayışı. Yukarıdaki anlatılar içerisinde pek çok içeriğe atıfta bulundum. Öğrenme sürecine dair ise Guides altında pek çok konu derlenmiş durumda. Diğer yandan git cheat sheet ile de git komutlarına dair temel bir bilgi edinilebilir. Gelelim asıl konuya. GitHub tarafından sunulan özellikler nelerdir?

Ücretsiz, pro, team ve enterprise üyelik seçenekleri bulunan platform ayrıca nonprofit ve academic desteğe de sahip.

Code review, pull requests gibi standart özelliklerin yanı sıra, public repo’lar için draft pull request, korumalı dallar (protected branches), kod sahipliği, issue takibi, bildirimler, proje board’ları, dönüm noktaları tanımlama, sayfalar (kullanici-adi.github.io gibi) ve wiki gibi pek çok özellik de platformda kullanıcılara sunulmakta. Diğer özellikler için Pricing sayfasını inceleyebilirsiniz.

Unutmadan, GitHub README dosyaları için Markdown yazısında da bahsi geçen GitHub Flavored Markdown (GFM)‘i kullanmakta.

GitLab

Dmitriy Zaporozhets ve Valery Sizov tarafından geliştirilen ve 2011 yılından bu yana kullanılabilen GitLab kendisini DevOps yaşam döngüsü aracı olarak nitelendirmekte. GitHub tarafından sunulan pek çok özelliğe CI/CD pipeline ve Authentication Level yönetimi başta olmak üzere daha pek çok özellik sağlamakta.

GitLab Neler Sunmakta?

Ücretsiz, bronze, silver ve gold üyelik seçenekleri bulunan platformda benim için öne çıkan özellik GitLab Community Edition idi. Platformun kendi CI/CD pipeline çözümü de yine pek çok geliştiriciyi cezbeden bir diğer özellik. Bahsi geçenlere ek olarak, diğer özellikler ve GitHub karşılaştırmasını GitLab tarafından oluşturulmuş olan GitHub vs. GitLab ve All GitLab Features sayfalarından da güncel bir şekilde takip edebilirsiniz. Diğer yandan, harici bir karşılaştırma olarak Compare GitHub vs GitLab sayfasına göz atabilirsiniz.

Peki, nereden başlamak lazım? Öncelik olarak, GitLab Installation ile yükleme işlemini gerçekleştirebilirsiniz. Ardından, Get started with GitLab sayfasına göz atabilir, GitLab Training Tracks ile çeşitli başlıklar altında pek çok detaya ulaşabilirsiniz.

Son olarak, GitHub ve GitLab örnek uygulamalar ve kod paylaşımı için sıklıkla kullandığım iki platform. Kişisel olarak GitLab kullanımım öne çıksa da, ilerleyen zaman içerisindeki paylaşımlarda da her iki platform için pratik yapma imkanı söz konusu olacak.

İleri Okumalar

  1. Announcing $20 million in Series C round funding led by GV to complete DevOps
  2. Migrating projects to a GitLab instance

Kaynakça

  1. About, @GitHub
  2. GitHub Facts
  3. GitHub Milestones
  4. GitHub, @wikipedia
  5. GitLab, @wikipedia
Ceyhun Enki Aksan

Kullanıcı Davranışları Analizi (User Behavior Analysis) ve Kullanıcı Deneyim Tasarımı (UX Design) üzerine çalışmalar yürütmekte, bu süreçte edindiğim teknik ve pratik bilgileri fayda sağlamak motivasyonuyla (afaik / as far as i know) paylaşmaktayım.

HABERDAR OL

Yeni eklenen projeler, eğitimler, içerikler ve yayınlanan videolar e-posta adresine gelsin.