GitHub Nedir?
GitHub, versiyon kontrol sistemidir. Tabi günümüzde bu amacı dışında birçok amaçla kullanılmaktadır. Örneğin bir ekip içerisinde uzaktan ortak bir proje üzerinde çalışmak için, insanların çalışmalarını ortak bir noktada barındırma gibi. Aynen vermiş olduğumuz örnekte olduğu gibi her bir kişi kendi geliştirdiği projeyi yüklediğinde ana sayfa içerisindeki görüntü değişir fakat kalıcı olarak değil. Anahtar kelime de tam olarak budur. Zira gönderilen yeni veri içerisinde eğer bir değişiklik varsa(Ekleme, Silme, Güncelleme gibi) GitHub bunu fark eder ve önceki hâline gidebilecek bir yapı oluşturur. Bu nedenle günümüzde daha çok Showroom olarak kullanılsa da asıl amacı versiyon kontrol sistemi oluşturmaktır.
Kafanız karışmasın, örneğin siz bir proje geliştirdiniz ve geliştirmiş olduğunuz projeyi Github üzerinde paylaştınız. Daha sonrasında ise projeye bazı eklemeler yaptınız. Fakat yaptığınız eklemeleri geri almak yani GitHub üzerindeki versiyona geri dönmek istiyorsunuz. Hah işte tam bu noktada GitHub bir süper kahraman gibi yetişiyor ve size sadece bir iki kod ile tekrardan yüklemeyi yaptığınız alana geri dönmenizi sağlamaktadır.
Daha farklı bir şekilde ifade etmek gerekirse oynadığınız oyun içerisinde (Checkpoint) noktasına nasıl oyunu kayıt edebilirsanız aynı şekilde GitHub'ta bizim için projemizin mevcut yapısını kontrol altına alıyor. Zira oyunda kaybettiğimizde Checkpoint noktası bizim için oyunda ilerlememizi kayıt altına alan bir araç oluyor ve onun sayesinde bir hata yaptığımızda oyunun başına dönmek zorunda kalmıyoruz. Tam olarak GitHub'ta bu işi yapmaktadır. :)
Tarihi
Genelde her yazıda önce tarihi yazılır ama kim bipler tarihini :) Biz yine de bir arkadaşımız merak eder diye tarihi yazalım. Öncelikli olarak GitHub doğrudan geliştirilmiş bir araç değildir. Öncesinde 2005 yılında Linus Torvalds tarafından Git adında bir sistem geliştirilir. Fakat geliştirilen uygulama kullanıcı arayüzü içeren bir yapıda değildir yani Interface barındırmaz. Linux terminal satırlarında kullanılır. Geliştirlme amacı yazılımcıların kodları kaybetme veya yedekleme esnasında sorunlar yaşamasından kaynaklıdır. Kısaca oluşturulma amacı versiyon kontrolü yapmaktır.
Fakat arayüzü olmaması ve her kullanıcı tarafından rahat bir şekilde kullanılmaması kaynaklı olarak 2008 yılında Tom Preston-Werner, Chris WAnstrath ve PJ Hyett tarafından GitHub yapısı ortaya atılmıştır. Başlangıçta sadece "Ruby" ve "Rails" projelerini içerisinde barındırabiliyordu. Yani isteyen herkes Gidipte (PHP, JS, HTML) kodlarını dahil edemezdi. Ancak zamanla her kullanıcının ihtiyacını karşılamak amacıyla tüm dilleri destekleyen (algılayan) bir yapıya bürünmüştür. Çok büyük bir sorunu çözmesinden kaynaklı, geliştiriciler tarafından hızla kullanılmaya başlanmıştır. Günümüzde ise en büyük versiyon kontrol sistemi olarak yerini almaktadır. Ve işte bu kadar GitHub'ın da tarihi ve gelişim sürecini okumuş oldunuz. Yazımızın devamında ise GitHub yapısı kullanmak için Git yapısını kurmayı göstereceğiz. Yazının devamı için tıklanıyınız.