GitHub Nedir ve Nasıl Kullanılır? 2022’de Bilmeniz Gereken Her Şey

GitHub Nedir ve Nasıl Kullanılır? 2022’de Bilmeniz Gereken Her Şey

Hiç GitHub nedir merak ettiniz mi? Bu makalede size GitHub’ın ne olduğunu ve ne için kullanıldığını öğreteceğiz.

GitHub, yazılım mühendisleri için önemli bir araç olarak kabul edilir ve popülaritesi rakipsizdir. Şu anda 25 milyondan fazla kullanıcıyı barındırmaktadır. Bu, iş akışı ve işbirliği iyileştirmeleri için GitHub’a yönelen çok sayıda profesyonel anlamına gelir.

Kısacası GitHub, Git adlı bir sürüm kontrol sistemini (VCS) barındıran bulut tabanlı bir hizmettir. Geliştiricilerin, ilerlemelerini ayrıntılı olarak takip ederken ortak projelerde işbirliği yapmasına ve değişiklikler yapmasına olanak tanır.

GitHub’ın ne olduğunu ve nasıl çalıştığını daha iyi anlamak için daha derine inmemiz gerekiyor. Önce sürüm kontrolü nedir bunu öğrenmeliyiz.

Sürüm Kontrolü Nedir? (Version Control)

Sürüm kontrolü, bir dosyada veya bir dizi dosyada yapılan değişiklikleri izlemeye ve yönetmeye yardımcı olan bir sistemdir. Ağırlıklı olarak yazılım mühendisleri tarafından kaynak kodunda yapılan değişiklikleri izlemek için kullanılan sürüm kontrol sistemi, tüm değişiklikleri analiz etmelerini ve bir hata yapıldığında herhangi bir sonuç olmadan geri almalarını sağlar.

Başka bir deyişle, sürüm kontrolü, geliştiricilerin aynı anda projeler üzerinde çalışmasına olanak tanır. Meslektaşlarının çalışmalarını ihlal etmeden veya geciktirmeden ihtiyaç duydukları kadar değişiklik yapmalarını sağlar.

Kaynak kodunda söz konusu değişiklikler, dağıtıldıklarında projeyi mahvederse, GitHub bunları birkaç tıklamayla tersine çevirmeyi kolaylaştırır ve projenin önceki sürümü geri getirilir.

Özetlemek gerekirse, sürüm kontrolü riskleri ve çok fazla hata yapma korkusunu ortadan kaldırır. Bunun yerine, çok fazla endişe duymadan işbirliği yapma ve geliştirme özgürlüğü sağlar.

“GitHub nedir” sorusunun yanıtına hemen geçiyoruz.

Git Nedir?

Git, 2005 yılında başlatılan ve piyasadaki en popüler VCS’lerden biri haline gelen açık kaynaklı bir projedir. Geliştiricilerin %87’sinden fazlası projeleri için Git’i kullanır.

Dağıtılmış bir sürüm kontrol sistemidir. Yani, erişim izni verilen ekipteki herhangi bir geliştirici, Git komut satırı araçlarını (Git command line tools) kullanarak kaynak kodunu ve değişiklik geçmişini yönetebilir.

Git,  merkezi sürüm kontrol sistemlerinden farklı olarak özellik dalları (feature branches) sunar. Bu, ekipteki her yazılım mühendisinin kodda değişiklik yapmak için yalıtılmış bir yerel depo sağlayan bir özellik dalını ayırabileceği anlamına gelir.

Özellik dalları, orijinal proje kodunun bulunduğu ana dalı etkilemez. Değişiklikler yapıldıktan ve güncellenen kod hazır olduğunda, özellik dalı ana dal ile birleştirilebilir, bu şekilde projede yapılan değişiklikler etkin hale gelir.

Hub nedir?

Eğer Git, GitHub’ın kalbiyse, Hub da onun ruhudur. GitHub’daki hub ise komut satırını, Git gibi, geliştiriciler için en büyük sosyal ağa çevirendir.

Belirli bir projeye katkı sağlamanın dışında GitHub kullanıcılarına kendileri gibi hemfikir insanlarla sosyalleşme olanağı sağlar. İnsanları takip edebilir ve ne yaptıklarını veya kimle bağlantı kurduklarını izleyebilirsiniz.

GitHub Nedir ve Neden Bu Kadar Popüler?

GitHub, çoğunluğu açık kaynaklı projeler olan 100 milyondan fazla fazla depoya ev sahipliği yapıyor. Bu istatistik, GitHub’ın en popüler Git GUI istemcileri arasında olduğunu ve çeşitli profesyoneller ve Hostinger gibi büyük işletmeler tarafından kullanıldığını gösteriyor.

Bunun nedeni GitHub’ın, Git’in sürüm kontrol özelliklerini içeren bulut tabanlı bir proje yönetimi ve organizasyon platformu olmasıdır. Yani, tüm GitHub kullanıcıları, kendilerine sunulan diğer Git işlevlerine aynı yerden erişirken, kaynak kodda yapılan değişiklikleri gerçek zamanlı olarak izleyebilir ve yönetebilir.

Dahası, GitHub’ın kullanıcı arayüzü Git’ten daha kullanıcı dostudur ve çok az teknik bilgiye sahip olan veya hiç olmayan kişiler için erişilebilir hale getirir. Bu, bir projenin ilerlemesine ve yönetimine daha fazla ekip üyesinin dahil edilebileceği ve geliştirme sürecini daha sorunsuz hale getirebileceği anlamına gelir.

GitHub Nasıl Kullanılır?

GitHub’ı ekibinizle ücretsiz olarak deneyebilirsiniz. Sınırsız depo ve ortak çalışan ancak yalnızca 500 MB depolama alanı içeren temel bir plan mevcuttur.

GitHub’ın birçok özelliğine daha kapsamlı bir bakış için ücretli planlarından birini seçebilirsiniz.

GitHub nedir

Bir plan seçtikten, gerekli bilgileri doldurduktan ve kayıt işlemini bitirdikten sonra GitHub’ın neler sunabileceğini keşfetmeye başlayabilirsiniz. Git’ten farklı olarak GitHub, komut satırının kodlanmasını veya kullanılmasını gerektirmez.

1. GitHub Deposu Oluşturun

Bir depo veya repo, projenizin merkezi hub’ı olacaktır. Tek bir dosya veya kod, resim, metin veya başka herhangi bir şey içeren bir dosya koleksiyonu olabilir.

Repository Nedir? (Depo)

Repository veya repo, projelerinizin dosyalarının depolandığı bir dizindir. GitHub’ın alanında veya bilgisayarınızdaki yerel bir depoda bulunabilir. Dosyalar, fotoğraflar, sesler veya projenize alakalı her şeyi repository’inizde depolayabilirsiniz.

İşlemi başlatmak için şu adımları izleyin:

  • Yeni bir proje başlatmak için  Create a repository ‘a tıklayın.
GitHub Nasıl Kullanılır adım 1
  • Owner (Sahip) bölümü hesap adınız olacak. Bir Repository Name (Depo Adı) oluşturun. Açık kaynak yapmak için Public olarak ayarlanıp ayarlanmadığını kontrol edin ve ardından Add a README file dosyası ekle kutusunu işaretleyin. Son olarak, Create repository‘ye tıklayın.

NOT: Deponuzu açık kaynak (Publis) olarak ayarlamanız gerekmediğini unutmayın. Kimin göreceğini ve değişiklik yapacağını yönetmek için Private (Özel) olarak ayarlayabilirsiniz.

Tebrikler, artık projenizin orijinal dosyasını içerecek yeni bir havuz/repo oluşturdunuz. Bir sonraki adım, onunla neler yapabileceğinizi öğrenmektir.

2. GitHub Dalları/Şubeleri Oluşturun

Dallar oluşturarak bir havuzun farklı versiyonlarını oluşturursunuz. Bir geliştirici, özellik dalında proje değişiklikleri yaparak, entegre edildiğinde ana projeyi nasıl etkileyeceğini görebilir.

Branch nedir? (Dal)

Branch deponuzun bir kopyasıdır. Branch’i diğerlerinden ayrı bir geliştirme yapmak istediğiniz zaman kullanabilirsiniz.

Branch üzerinde çalışmak merkezi repository’yi veya öbür branchleri etkilemez. İşiniz bittiğinde, pull request’i kullanarak branch’inizi öbür branch’lerle ve merkezi repo ile birleştirebilirsiniz.

Bir özellik dalı şu şekilde oluşturabilirsiniz:

  1. Yeni deponuza gidin. Main butonuna basın ve yeni özellik dalınızın adını girin.Create branch‘a (Dal oluştur) tıklayın.
GitHub'da dal oluşturma

Artık ana dalla aynı görünen bir özellik dalı oluşturdunuz. Projeyi etkilemeden serbestçe değişiklik yapmaya başlayabilirsiniz.

3. GitHub Commit’leri Nedir? (Gönderiler)

Gönderilenler (Commits), GitHub’da kaydedilen değişikliklere denir. Özellik dalının dosyasını her değiştirdiğinizde, saklamak için Commit etmeniz gerekir.

Değişiklik yaptığınızda sürümünüzü şöyle gönderebilirsiniz:

  1. Özellik dalına Main öğesine tıklayarak ve açılır menüden yeni oluşturduğunuz dalı seçerek erişin.
  2. Dosyayı düzenlemeye başlamak için “kalem simgesine” tıklayın. Bitirdiğinizde, yapılan değişikliklerin kısa bir açıklamasını yazın. Commit Changes‘a (Değişiklikleri Gönder) tıklayın.

4. GitHub Çekme İstekleri (Pull Requests) Oluşturma

Pull request, projenizde birlikte çalıştığınız kişileri bir dalda yaptığınız değişikliği ana depoya gönderdiğinize dair bilgilendirdiğiniz anlamına gelmekte. Bu depo, katkıda bulunanları kabul edebilir veya reddedebilir.

Pull request (Çekme İstekleri) açıldığında, çalışmanızı birlikte çalıştığınız kişilerle tartışabilir ve gözden geçirebilirsiniz.

GitHub’da bir pull request yaratmak için aşağıdaki adımları takip edin:

  1. Pull requests -> New pull request‘e tıklayın. Example comparisons bölümünde, az önce üzerinde çalıştığınız  feature branch’ı (Özellik dalı) seçin.
    değişiklikleri karşılaştırma GitHub
  2. Değişiklikleri bir kez daha gözden geçirin ve Create pull request‘e tıklayın. Yeni sayfada başlığı yazın ve birleştirmeyi teşvik etmek için üzerinde çalıştığınız şeyin kısa bir açıklamasını yazın. Create pull request‘e tıklayın.

Artık diğer geliştiriciler, orijinal proje dosyalarında yaptığınız değişiklikleri birleştirebilecek.

GitHub’a başlarken bilmeniz gereken diğer her şey için bu rehbere (İng.) göz atın.

Bir Repository’i Çatallamak (Forking)

Bir repoyu/depoyu çatallamak, var olan depo üzerinde yeni bir proje yapmanız anlamına geliyor. Basitçe, bir repo’yu çatallamak, var olan repository’i kopyalayıp, ihtiyacınız olan değişiklikleri yapıp yeni versiyonu yeni bir repository olarak depolamanız ve buna ‘benim projem’ demeniz oluyor.

Bu, proje geliştirimini destekleyen muhteşem bir özellik. Çünkü, bu, tamamiyle yeni bir proje olmakla birlikte, merkezi repository’i etkilememektir. Eğer ‘ana’ proje güncellendiyse, güncellemeyi ayrıca halihazırdaki fork’unuza da uygulayabilirsiniz.

GitHub’da bir repository’i çatallamak için aşağıdaki adımları takip edin:

  1. Çatallamak istediğiniz repository’i bulun
  2. Fork tuşuna tıklayın

GitHub Sadece Geliştiricilere Sınırlı Değil

GitHub, geliştiricilerin çalışma şeklini değiştiren muhteşem bir platformdur. Ancak, bu sadece geliştiriciler için olduğu anlamına gelmiyor. Projelerini verimli biçimde yönetmek ve işbirliği içinde çalışmak isteyen herkes GitHub’ı kullanabilir.

Eğer ekibiniz sürekli güncelleme gerektiren bir proje üzerinde çalışıyor ve değişikliklerin izini sürmek istiyorsa, GitHub sizin için uygundur. GitLab ve BitBucket gibi başka alternatifler de bulunmakta fakat GitHub’ı da dikkate almalısınız.

Git Branch Nasıl Kullanılır?

Git, geliştiriciler tarafından uygulamalarının sürüm kontrolünü yönetmek için kullanılan oldukça popüler bir araçtır. GNOME ve diğerleri gibi birçok önemli projeler tarafından kullanılmıştır. Git’in en önemli fonksiyonlarından biri proje oluşturumunu geliştirmeye yardım eden gelişim branchlerin kontrolüdür. Bu yüzden bu makalede Git branch nasıl kullanılır göstereceğiz. VPS bazlı da dahil olmak üzere herhangi bir proje bu harika özellikten fayda görecektir.

Git branchleri bir uygulamanın birden çok versiyonunu derli biçimde tutmamıza yardımcı olur. Bu yüzden Git branch’i kullanmak çok önemlidir. Bu makaleyle Git temel bilginizi arttıracaksınız.

Git Branch Nedir?

Git geliştirme branchlerini kullanmak uygulamalarımızı kullanırken sürümlerini takip etmek için harika bir yoldur. Genel olarak bir geliştirme branch’i kodun evrimi için yeni bir yol yaratan çatal yeridir. Oluşturebileceğiniz diğer Git branchlerine paralel olabilir. Gördüğünüz gibi kodunuza düzenli ve doğru biçimde yeni fonksiyonlar eklemek mümkündür.

Git Branchlerini kullanmak birçok avantaja sahiptir. Ancak aşağıdaki iki avantajı da belirtmeden geçmemeliyiz:

  • Ana branch’teki geliştirmeyi etkilemeden uygulamanız için yeni özellikler geliştirmek mümkündür.
  • Git branchleri ile aynı depoyla birleşebilen farklı geliştirme branchleri oluşturmak mümkündür.

Tabii ki her geliştirici tecrübeyi rehber olarak kullanarak kendi avantajlarıyla kendi yöntemlerini oluşturabilir.

Git Branch Nasıl Kullanılır?

Başlamadan önce sunucunuza SSH ile erişmeyi unutmayın! İşte size yardımcı olabilecek bir PuTTY rehberi!

Git branchlerinin kullanımları ilk başta Git branch komutlarından da fark edebileceğiniz gibi basittir. Ancak tıpkı her şeyde olduğu gibi ne kadar branch’iniz varsa onları yönetmek o kadar zor olabilir.

Herhangi bir Git projesinde aşağıdaki komut satırını girerek bütün branchleri görüntüleyebilirsiniz:

git branch

Eğer bir branch oluşturulmazsa terminalde bir çıktı olmayacaktır. Bir branch oluşturmak oldukça basittir:

git branch [yeni_branch]

Daha sonra ise yeni oluşturulmuş branch’e geçmeniz gerekiyor. Bunu yapmak içinse bu komutu kullanın:

git checkout [yeni_branch]

Bu çıktı yeni branch’e geçtiğiniz hakkında bizi bilgilendirecektir. Biz, bu örnekte branch’i test olarak adlandırdık, böylece aldığımız çıktı böyle oldu:

Switched to branch ‘test’

Şimdiyse, bu yeni geliştirme branch’inde ana branch’te hiçbir şey değiştirmeden istediğimiz kadar kod düzenlemesi yaratabiliriz. Görebileceğiniz gibi yeni kod eklemeleri için programı organize düzenli tutar.

Eğer branchleri listelemek için olan kodu çalıştırırsanız yeni bir branch eklendiğini ve sizin de içinde olduğunuzu göreceksiniz.

git branch

Yeni bir geliştirme branchi oluşturmak istiyorsanız aklınızda bulundurmanız gereken bir şey var. İlk olarak Git’in ana branch’i anlaması için ona odaklanmanız gerekir. Eğer bunu yapmazsanız hata alırsınız. İlk olarak odaklanın ve daha sonra ise geliştirme branchlerini oluşturun.

Eğer Git’ten bir branch silmek istiyorsanız aşağıdaki komutla yapabilirsiniz:

git branch -d [branch_adi]

Ancak bunu yapmak için silmek istediğiniz branch’te olmamalısınız. Bu durumda ana branch’e gidin ve daha sonra ise oradan oluşturduğunuz branch’i silin:

git checkout master
git branch -d test

Son olarak bir geliştirme branch’ine birçok düzenleme yaptığınız zaman olacaktır. Yeterince stabil olduğunda bu branch’i başka bir geliştirme branch’ine bağlamak isteyebnilirsiniz. Bunun için merge komutu bulunmaktadır.

İlk olarak ikinci branch’in bağlanacağı geliştirme branch’inin konumunu bulun. Örneğin, biz test branch’ini ana branch’e bağlayacağız. Bunun için ana branch’e gitmemiz ve komut kullanarak birleştirmemiz gerekir:

git merge [branch]

Gördüğünüz gibi basit Git branch fonksiyonlarını kullanmak oldukça kolaydır. Sadece temelleri bilmeniz ve yönetiminizi temiz tutmanız gerektir.

Sonuç

Artık GitHub nedir ve Github nasıl kullanılır biliyorsunuz.

GitHub, esas olarak yazılım mühendisleri topluluğu içinde bilinmesine rağmen, çeşitli endüstrilerde kullanılabilirdir. Dosya şeklinde geliştirme gerektiren farklı projelerde çalışan herhangi bir ekip veya şirket bu hizmeti kullanabilir.

Örneğin, içerik ve pazarlama ekipleri projelerini düzenlemek için, serbest çalışan reklamcılar, diğer insanlarla çalışırken işlerini yönetmek için GitHub’ı kullanabilir. GitHub kullanmanın birçok çeşitli yolu vardır.

GitHub kullanmak, mutlaka kod kullanmak veya geliştirici olmak anlamına gelmez. Birçok farklı şekilde kullanılabilen ücretsiz bir sürüm kontrol sistemi platformudur.

Eğer bir sorunuz varsa, yorum bırakmaktan çekinmeyin!

Author
Yazar

Gökhan O.

Gökhan Hostinger'da YouTube Takım Lideri olarak çalışmakta. WordPress hakkındaki tecrübe ve bilgisini bu blogda paylaşıyor. Hostinger'ın adını YouTube içeriği üzerinden duyurmayı kendine görev edinmiştir. Hobileri arasında oyun oynamak ve futbol maçları izlemek vardır.