GitHub (Sürüm Kontrolü) Nedir? Nasıl Kullanılır?

Teknolojinin gelişmesi ile birlikte çalışma yaşamında sınırlar kalktı. Farklı dilleri konuşan milyonlarca kişinin iletişime geçebilmesi, ortak çalışabilmesi için geliştirilen ortak diller de farklı projeler altında toplanmaya başladı. Daha önce bireysel çabalar ile ilerleyen çalışmalar, teknolojinin gerisinde kalarak ihtiyaçlara yanıt verememeye başladı. İşte bu noktada, açık kaynak kodlu yazılımlar; yazılım, kodlama gibi çalışmalarda ortaklaşma ön plana çıktı. Bu alanda iş birliğinin saldırgan bir rekabet stratejisinden çok daha verimli ve etkili olduğu defalarca kez ortaya kondu.

GitHub işte bu ihtiyaçlardan doğan, gün geçtikçe kullanımı artan bir platformdur. GitHub, kısaca web tabanlı bir depolama platformudur. Çok farklı sektörlere kullanım avantajı sağlasa da en çok yazılımcılar, programcılar, geliştiriciler tarafından kullanılan bu platformda ortak çalışma projeleri oluşturulabilir. Sürüm kontrol sistemi olarak Git kullanılması sebebi ile bu platforma GitHub ismi verilmiştir. Github resmi sitesindeki verilere göre bugün platformda 73 milyondan fazla geliştirici, 4 milyondan fazla kuruluş ve 200 milyondan fazla depo bulunmaktadır.

GitHub Terimleri

GitHub ile ilgili bilgileri aradığınızda karşınıza çok farklı terimler çıkacaktır. En çok kullanılan terimleri aşağıda açıklanmakla birlikte sizler için derlemeye çalıştık.

1. Sürüm Kontrol Sistemi Nedir?

Sürüm, herhangi bir dosyanın kayıt altına alındığı herhangi bir zamandaki hallerini belirtmek için kullanılır. Örneğin, yeni kaydedilmiş bir dosya üzerinde değişiklik yaparak kaydederseniz, yeni dosya ilk dosyanın ikinci sürümü olarak adlandırılır. Sürüm kontrolü, metin ya da medya dosyaları üzerinde yapılan değişiklikleri kayıt altına alan, takibini sağlayan bir sistemdir. Bu sistemlerde ihtiyaç duyulması halinde önceki değişikliklere, eski sürümlere dönülebilir. Böylece veri kaybı olmadan dosya üzerinde yeniden çalışma yapılabilir. Farklı versiyonların birbirine göre avantajları, dezavantajları saptanarak hangi sürümün kullanıma açılacağı kararı verilebilir.

Sürüm Kontrol Sistemleri, sunucuların özelliklerine göre farklı şekilde sınıflandırılabilir. Yerel Sürüm Kontrol Sistemleri’nde kullanıcılar, çalışılan dosyaya ait sürümleri veri tabanında tutabilmekte ve ihtiyaç halinde ulaşabilmektedir. Ortak proje çalışmalarının gelişmesi ile bu sistem ihtiyaca yanıt vermemiştir. Geliştirilen merkezi sürüm kontrol sistemleri ise ortak çalışmalarda değişikliklere tüm kullanıcılar tarafından erişilmesini olanaklı hale getirmiştir.

Bu sistemlerin en büyük dezavantajı ise tek merkezli sunucunun risk oluşturmasıdır. Herhangi bir sebeple sunucunun arızalanması durumunda proje üzerinde çalışmak mümkün olamamaktadır. Bu risk ise geliştirilen Dağıtık Sürüm Kontrol sistemleri ile minimize edilmiştir. Bu sistemde merkezi bir sunucu olmayıp, ortak çalışmada bulunan her kullanıcı projeyi kendi makinesine kaydetmektedir. Sunuculardan birinde sorun çıkması halinde proje çalışanlarından biri çalışmayı sunucuya yeniden yükleyebilir. Aynı zamanda, geliştiriciler, aynı projede farklı süreçler yürüterek de çalışabilir ve ortaya çok farklı ürünler de çıkabilir. Bugün, dağıtık sistemler çalışma kolaylığı, esnekliği ve güvenliği sebebi ile tercih edilmektedir.

2. Git Nedir?

Git, sürüm kontrolü ve kaynak kod yönetimi için ilk olarak 2005 yılında yayınlanmıştır. Otomatik bilgisayarın bir ağ üzerinde iletişimi ile geliştirilen yazılım, dağıtık bir sistemdir. Merkezi sistemlerden farklı olarak, dağıtık sistemlerde ağ içinde yer alan bilgisayarlar belli bir hedef için birbirleriyle etkileşime girer.

Git, ikinci sürümü ile birlikte lisanslanmıştır ve bir özgür yazılım olarak çalışmaktadır. Sahipli yazılımlardan farklı olarak, Git kullanıcılarına çalıştırma, kopyalama, değiştirme, geliştirme gibi yetkileri veren bir yazılımdır. En son 24 Kasım 2021 yılında güncellenen sürümü ile pazarda %73’lük bir paya sahip olmuştur. Bugün ürünlerini kullandığımız birçok büyük firma ve proje Git kullanmaktadır.

3. GitHub Nedir?

GitHub ise Git kullanan projelerin birbiri ile etkileşimini ve ortak çalışmasını sağlamak amacıyla 2008 yılında kurulmuş bir platformdur. Temel kullanımı ücretsiz ve açık kaynaklı olmasına karşı, özel depolar için ücretli kullanım seçenekleri de mevcuttur. GitHub 2011 yılı itibari %54’lük pazar payı ile açık kaynak kodlu projelerin en çok kullandığı depolama hizmeti haline gelmiştir. Bugün bu oran milyonlarca kullanıcısı ile %89,5’e yükselmiştir.

GitHub’ın popülaritesinin en büyük nedenlerinden biri kullanım kolaylığıdır. Kullanıcılar tüm Git uygulamalarına aynı platform üzerinden ulaşabilirken bir yandan da yapılan değişiklikleri gerçek zamanlı izleme şansına sahiptir. Aynı zamanda bu değişiklikleri yönetebilir, kendi bilgisayarları üzerinden de çalışmalarını devam ettirebilirler. Sürüm kontrol konusunda teknik bir bilgiye sahip olmadan da bu platform üzerinde çalışmak oldukça kolaydır.

GitHub Nasıl Kullanılır?

GitHub tüm kullanıcılar için ücretsiz olarak temel bir paket sunmaktadır. Bu paket içeriğinde ortak çalışmalarınızı yapabilirsiniz; fakat depolama alanı 500 MB ile kısıtlı tutulmaktadır. Daha büyük projeleriniz ya da profesyonel ortaklıklarınız için ücretli paketler mevcuttur.

Platformu ücretsiz olarak kullanmak için “free” paketini seçmelisiniz. Ücretsiz planı seçseniz dahi öncelikli olarak “sign-up” alanına basınca karşınıza çıkan alandaki formu doldurarak “Create Account” ögesine basıp sisteme kayıt olmalısınız.

Kayıt yaptırdıktan sonra aşağıdaki adımları takip ederek, GitHub platformunda çalışma yapan milyonlarca kullanıcıdan biri olabilirsiniz.

1. Kendiniz için Bir Depo Oluşturun

Öncelikle repository adı verilen, proje dosyalarını barındıracak bir depo oluşturmanız gerekiyor. Bu dizini GitHub bulut üzerinde kullanabileceğiniz gibi kendi bilgisayarınızda bir dosya açarak da oluşturabilirsiniz. Bu dosyada, çalışmanızda kullanacağınız dosyaları, kodları, ses ya da görüntü dosyalarını saklayabilirsiniz. Kısacası deponuz projeniz ile ilgili her şeyi kaydedeceğiniz alandır.

  • Deponuzu oluşturmak için “Create a repository” alanına tıklamalısınız.
  • Karşınıza çıkan ekranda; Owner, yani deponun sahibi olacak kişinin adını, “Repository” Name, yani depo adınızı yazmanız zorunludur.
  • Eğer açık kaynak kodlu çalışmalara dahil olmak istiyorsanız, “Public” seçeneğini tercih etmelisiniz.
  • Eğer projeniz üzerinde çalışma yapacak, projenizi görüntüleyecek kişileri sınırlandırmak isterseniz “Private” seçeneğinin işaretli olduğundan emin olmalısınız.
  • Son olarak “Add a README file” kutucuğunu işaretleyin.
  • Tüm alanları doldurduktan sonra sayfanın altında bulunan “Create repository” tuşuna basarak işlemi bitirebilirsiniz.

Oluşturduğunuz bir depoyu kopyalayarak aynı anda farklı çalışmalar yapabileceğiniz iki depo alanına sahip olabilirsiniz. Buna “forking” yani çatallamak adı verilmektedir. İşlemi yapabilmek için kopyalamak istediğiniz depo alanını seçip “fork” tuşuna basmanız yeterli olacaktır.

2. Deponuzun Dallarını Oluşturun

Aynı proje içinde farklı çalışmalar yapmak isterseniz, deponuzda “branch” adı verilen dallar oluşturmanız gerekir. Herhangi bir dal üzerinde yaptığınız çalışma ana çalışmanızı etkilemeyecektir. Böylece birbirinden bağımsız ve farklı çalışmaları aynı anda yürütebilirsiniz.

  • Bir dal oluşturmak için öncelikle “depo”nuzu açın.
  • Çıkan ekranda “main” yazılı butona basın ve “create branch” tuşunu tıklayın.
  • Burada bulunan “feature branch” kısmına isim vererek yeni bir çalışma dalı oluşturun. Bu ekrandan istediğiniz sayıda yeni dal oluşturabilir ve oluşturduğunu tüm dallar burada görüntüleyebilirsiniz.
  • Çalışmak istediğiniz dala tıklayarak projenizin farklı çalışmalarına devam edebilirsiniz.

3. Değişiklikleri Kaydedin

Oluşturduğunuz dallarda yaptığınız çalışmaların kayıtlı olarak tutulabilmesi için, kaydedilen tüm değişiklikleri işlemeniz gerekmektedir. “Commit” adı verilen bu işlemi yapmadan değişiklikleri saklamanız mümkün olmaz.

  • Çalışmanız ile ilgili herhangi bir değişiklik yapmak için, öncelikle yukarıdaki işlemde yapıldığı gibi “main” ögesinden çalışmak istediğiniz dalı seçin.
  • Dosyada düzenleme yapmak için ekranda açılan “kalem” ögesine tıklayın.
  • Çalışmayı bitirdiğinizde aşağıda bulunan kutucuğa yaptığınız değişiklikle ilgili bilgi girişi yapın.
  • Commit Changes, yani “Değişiklikleri Gönder” tuşuna tıklayarak işlemi sonlandırabilirsiniz.

4. İş Ortaklarınızı Bilgilendirin

GitHub’ın en önemli özelliklerinden ve avantajlarından biri olan ortak çalışma alanını kullanabilmek için pull request özelliğini kullanmanız gerekir. Çekme isteği oluşturmak olarak adlandırabilecek bu özellik ile projenizde ortak olarak çalıştığınız kullanıcılara, yaptığınız değişikliklerle ilgili bilgilendirme yapabilirsiniz. Böylece, projenizdeki yeni çalışmalarınızı iş ortaklarınız ile görüşebilir, tartışabilir ve geliştirebilirsiniz.

  • Pull request gönderebilmek için öncelikle ana ekranda bulunan “pull request” ögesine tıklamalısınız.
  • Açılan alanda “new pull” request bölümüne basın.
  • Karşınıza çıkan “example comparision” bölümünde, çalışmayı yaptığınız çalışma dalını seçin. En son yaptığınız ve işlediğiniz değişiklikler, bu bölümde gözükecektir.
  • Değişiklikleri gözden geçirdikten sonra “create pull request” ögesine basın.
  • Açılan sayfaya bir başlık ve değişiklik ile ilgili kısa bir özet yazarak sayfa sonunda yer alan “create pull request” ögesine bir kez daha basın. Böylece, yaptığınız değişiklikler iş ortaklarınıza iletilecektir. İş ortaklarınız değişiklikleri kabul ederek sizin kaldığınız yerden devam edebilir. Öte yandan değişiklikler ile ilgili yorum ve öneri yaparak, kaydetmeden eski sürüm üzerinden çalışmaya devam edebilir.

GitHub’ı Kimler Kullanır?

GitHub yukarıda belirtildiği gibi, kullanım kolaylığı ve rakiplerine göre sağladığı avantajlar ile açık kaynak kodlu çalışmalar yapanların en çok tercih ettiği ortak çalışma platformudur. Sosyal medya devlerinin yanı sıra bir çok büyük kurumsal firmanın Git kullanmakta ve GitHub platformundan yararlanmaktadır.

Her ne kadar yazılımcılar ve geliştiriciler arasında yaygın kullanımı olsa da çok farklı sektörlerden kullanıcı portföyüne sahiptir. İçerik oluşturan ve pazarlayan ekipler, reklamcılar GitHub’da ortak çalışma alanları oluşturarak projelerini geliştirebilmektedir. Topluluk forumunda (GitHub Community) yer alan farklı başlıklarda deneyim paylaşabilir, sorularınızı sorabilir, fikir alarak platformdan en verimli ne şekilde yararlanabileceğinizi de tespit edebilirsiniz.

Düşünülenin aksine, GitHub’ın avantajlarından faydalanabilmek için kod yazmak, yazılımcı ya da geliştirici olmak gerekmez. Yalnızca ücretsiz sürüm kontrolü yapabilmenin bile rekabet açısından sayısız avantajı vardır ve bugün çok farklı sektörlerde çalışanlar bu avantajı kullanabilmek için platformda depo oluşturarak çalışmaya başlamaktadır.

0 Shares:
Bu İçerikler İlginizi Çekebilir