GitHub Nedir? GitHub Nasıl Kullanılır?
Linus Torvalds’in geliştirdiği versiyon kontrol sistemine “Git” adını veriyoruz. GitHub’ta kod deposu olarak karşımıza çıkıyor. Bu iki kavram genellikle birbirleriyle çok karıştırılıyor. O nedenle ikisinin tanımını da çok iyi bilmek gerekiyor. Özellikle GitHub, Git ile entegre olmasıyla dikkat çekiyor. Dünyanın çeşitli yerlerindeki programcılar ve geliştiriciler bir araya gelip; GitHub sayesinde ortak çalışma alanı oluşturabiliyorlar. GitHub, aynı zamanda bulut tabanlı hizmet olarak da biliniyor. Yazılımcılar açısından önemli araç kabul edilmiştir. Tom Preston-Werner, P.J. Hyett, Chris Wanstrath ve Scott Chacon’un 8 Şubat 2008’de kurduğu proje olarak GitHub karşımıza çıkıyor. GitHub; açık kaynaklı projelerde ücretsiz, özel depolardaysa ücretli üyelik hizmetler bizlere sunuyor. 2011 yılının mayıs ayından bu yana GitHub, özellikle açık kaynaklı projelerin tercih ettiği en popüler depolama servisi olarak biliniyor.
GitHub’un Faydaları Nelerdir?
Kod deposu anlamına gelen GitHub, yazılım sektöründe önemli yere sahiptir diyebiliriz. Genel anlamda GitHub faydaları şöyle sıralanabilir:
- Birçok kişiyle ya da tek kişi olarak yazılımın geliştirilmesine ve yönetilmesine olanak tanıyor.
- Projenin geliştirilmesine yardımcı oluyor.
- Ücretsiz açık kaynak kodları kolaylıkla depolanabiliyor.
- Proje içerisinde yer alan kişilerin tüm yaptıkları değişiklikleri kolaylıkla takip eder.
- Genel ya da özel seçeneklerle kodların açık kaynak şekline getirilmesinde rol oynuyor. Örneğin; özel seçenekle kişi sadece istediği geliştiricilerle kod paylaşabiliyor.
Sağlam iş birliği yapma ile öğrenmeyi gerçekleştiren platformlar içerisinde GitHub’un da önemi yadsınamaz. GitHub ilk başta zor gelebilir. Fakat birkaç temel konunun anlanması açısından sizin önemli başlangıç yapmanızı sağlayacak. GitHub’un çalışabilmesi için Git’e ihtiyaç vardır. GitHub, Git yazılımı ile çalışıyor.
GitHub Nasıl Kullanılır?
GitHub’un kullanılabilmesi için birkaç aşamanın mutlaka tamamlanması gerekiyor. O aşamaları şöyle sıralayabiliriz:
GitHub’a Kayıt
İlk olarak GitHub’u kullanabilmek için mutlaka o platforma kaydolmanız gerekiyor. Link üzerinden kolaylıkla GitHub hesabı oluşturabilirsiniz. Hesap oluşur oluşmaz hemen platformu sorunsuz kullanabilirsiniz. Ücretsiz GitHub hesabı ile özel ve sınırsız genel havuzlara erişebileceksiniz. Ayrıca proje yönetimi başta olmak üzere hata izleme gibi özelliklere de sahip olacaksınız. Bu platformun tek olumsuz tarafı; özel repository (depo)’de sadece 3 ortak çalışana izin verilmesi diyebiliriz.
Git Yükleyiniz
GitHub’un çalışabilmesi için Git’ ihtiyaç vardır. Git’i mutlaka bilgisayarınızı kurunuz. Çünkü Git kurulmadan kesinlikle GitHub çalışmaz.
GitHub Deposu Oluşturunuz
GitHub nasıl kullanılır hususlarından biri de depo oluşturmaktır. Depo oluşturulup sonrasında o depoya dosyalar gönderiliyor. Deponun klonlaması depoya dosyanın gönderilmesiyle gerçekleşiyor. Depo denildiğinde aklımıza repository yani repo gelmelidir. Repo projelerinizin depolandığı dizin olarak karşımıza çıkıyor. GitHub alanında ya da bilgisayardaki yerel depoda da repo yer alabiliyor. Dosyalarınızı, fotoğraflarınızı, projelerinizi ve seslerinizi repository’e depolamanız mümkündür.
GitHub Dalları ve Şubeleri Oluşturunuz
Geliştiriciler, özellik dallarında proje değişiklikleri yapıp entegre edildiğinde de ana projenin etkileyicilik seviyesini görebilirler. Branch deponun kopyalanmasında karşımıza çıkıyor.
GitHub Gönderileri
GitHub üzerinde kaydedilen değişiklikler Commits-gönderilenler adını alıyor. Özellik dalı dosyalarının her değiştirilişinde Commit saklama görevi görüyor.
Pull Requests-GitHub Çekme İstekleri Oluşturma
Proje içerisinde çalışılan kişilerin bir dal üzerinde yaptığı değişiklikler ana depoya gönderildiğinde bilgilendirme yapılmasına Pull Rwquests adını veriyoruz. Depo, katkısı olanları kabul eder ya da reddeder.
Bir Repository’in Çatallanması (Forking)
Bir deponun/reponun çatallanması için halihazırda yer alan depo üzerinden yeni projenin gerçekleşmesi gerekiyor. Basit bir tabirle reponun çatallanması için var olan repository’in kopyalanması ilk gerekiyor. Daha sonra ihtiyacınız doğrultusunda değişikler gerçekleştirip yeni versiyonu repository şeklinde depo etmeniz gerekiyor. Depolama işleminin arkasından “benim projem” diye adlandırmalısınız.
Forking projenin geliştirilmesini sağlayan olağanüstü özellik olarak karşımıza çıkıyor. Tamamen yeni proje olup merkezi repository’e de etki etmemesi gerekiyor. Ana proje güncellendiği takdirde güncellenmeyi de hazırda bulunan fork’a uygulamanız gerekiyor.
Devamlı Kullanılan GitHub Terimleri
GitHub terimleri içerisinde popüler olanları şöyle sıralayabiliriz:
Git
Bilgisayara yüklenilen programların içerisinde yer alıyor. Linux, Windows ve MacOs sistemleriyle çalışıyor. Git ile şu işlemleri yapabilirsiniz:
- GitHub vb. depo sistemleri içerisine belirli komutlar kullanıp dosyalar yüklemek.
- Bilgisayarınızda çalışma bölümü oluşturmak.
- Bilgisayarda oluşturulan çalışma bölümünde projeyi GitHub kullanıcı ismiyle dizine yükleme.
- Çok komplikeli işlemlerin yapılmasını sağlıyor.
Ayrıyeten Git ile birden fazla programcı tarafından oluşturulan kullanışlı araçlar sisteme yüklenip sonrasında kullanılır duruma gelebiliyor.
Branch
GitHub terimleri içerisinde popülerliğini Branch, daima koruyor. Ana gövdenin oluşmasının ardından çalışmanın herhangi yerinde branch oluşabiliyor. Çalışmalarınızı Branch üzerinden kolaylıkla yürütebilirsiniz. Dal açtığınız takdirde sistem projenizle ilgili kayıt oluşturabilir. Kayıt oluşturulmasının ardından kopya Branch üzerinden artık devam ediyor. Hemen arkasından açılacak 1 ve üzeri dal yeniden ana gövdeye bağlanıp bütünlük oluşturabiliyor.
Conflict
Bir ve üzeri farklı Branch üzerinden gerçekleşen çalışmalar paket haline getirip gönderiliyor. Hatta iki dosya bazen birbirileriyle çelişebiliyorlar.
Issues
Türkçe ’de Issues durum diye tabir ediliyor. Gelişme, sorun ve durumlarla alakalı bilgilendirme yapmak Issues ile mümkündür. Issues açarak projeler için gereken işlemleri kolayca gerçekleştirebilirsiniz. Proje üzerindeki işlemlerinizi gerçekleştirdikten sonra Issues’i kapatabilirsiniz.
Ignore
Commit işlemini gerçekleştirdikten sonra çalışmayı gerçekleştirdiğiniz bazı dosyaları paketleyip gönderebilirsiniz. Paket içerisinde yer almasını istemediğiniz dosyaları, Ignore edip Git’in önemsememesini sağlayabilirsiniz.
Origin
Çalışmadaki ana dal kaynak-Origin diye tabir ediliyor. Aktif haldeki Branch, Origin diye de adlandırılabiliyor. İlk oluşturulmuş olan Branch, aslında Master diye ifade ediliyor. Origin üzerinde ilk oluşturulmuş olan Branch diye karşımıza çıkıyor.
Clone
GitHub bulut sistemi üzerindeki belirli program ya da kod dizisi kopyalanabilir. Kopyalama işlemi sonrasında kod dizileri ya da programlar hesabınıza ya da bilgisayarınıza iner.
Merge
Branch üzerinde gerçekleşen değişiklik şubelerin diğerlerinde de kullanılabilmesi adına birleştirilmesi gerekiyor. Belirtmiş olduğumuz işlemin Pull isteği ya da birkaç tane kod yardımıyla gerçekleştiğini söyleyebiliriz.
Pull
Başkaları tarafından yapılan değişiklikler kendinize ait bilgisayarda ya da sunucuda ana dosya versiyonu içerisine dahil olabilir.
Commit
GitHub üzerinde yer alan dosyalarınızı alıp, üzerinde çalışma yapabilirsiniz. Proje üzerine eklenen yeni kodların olduğu çalışma GitHub üzerindeki kopyaya da dahil edilebilir. Bu işlemin gerçekleşebilmesi için ilk Commit’i gerçekleştirmeniz gerekiyor. Gerçekleştireceğiniz bu işlem çalışmanızı, GitHub bulut sistemine ulaştırıp paketlemeyi gerçekleştiriyor.
Fork
Repository olarak adlandırılan başkasının oluşturduğu proje, kendinize ait hesaba kopyalanabilir. Başkasına ait proje alınıp sonrasında üzerinde çalışılabilir. Hatta başkasının oluşturduğu proje alındıktan sonra siz dilediğiniz gibi çalışmada yapabilirsiniz. Açık kaynak kodlu sistemlerin üzerindeki programlarda eklenecek kodlar sizin kabiliyetiniz doğrultusunda çeşitli özelliklerden de oluşabilir.
GitHub Hakkında Genel Bilgiler
GibHub sayesinde geliştiriciler, benimsemiş oldukları çalışma şeklini kolayca değiştirebilirler. Tabi ki bu hizmetten sadece geliştiriciler değil herkes yararlanabiliyor. Projelerin verimli ve etkin yönetilmesi adına, GitHub’un önemi çok büyüktür. Aynı zamanda iş birliğiyle çalışmalar yapmak adına da bu hizmetin önemi çok büyüktür.
Örneğin; ekibiniz devamlı güncellemeyi gerektirecek projelere odaklandıysa onların ve sizin kesinlikle GitHub hizmetinden yararlanmanız gerekiyor.