Anasayfa » GitHub Nedir?
GitHub Nedir?
Nasıl Yapılır • Teknoloji

GitHub Nedir?

GitHub, yazılım projelerinin saklanmasını, sürüm geçmişinin takip edilmesini ve geliştiricilerin aynı proje üzerinde birlikte çalışmasını sağlayan Git tabanlı bir platformdur. Kod dosyalarını çevrim içi ortamda yönetmek, yapılan değişiklikleri incelemek ve projeleri paylaşmak için kullanılır. Açık kaynak yazılımlardan kurumsal uygulamalara kadar farklı ölçeklerdeki geliştirme süreçlerinde önemli bir yere sahiptir.

GitHub Ne İşe Yarar?

GitHub, yazılım geliştiricilerin projelerini merkezi bir ortamda yönetmelerine yardımcı olur. Proje dosyaları GitHub üzerinde saklanabilir, değişiklikler kayıt altına alınabilir ve farklı geliştiricilerin katkıları bir araya getirilebilir.

GitHub yalnızca kod depolamak için kullanılmaz. Yazılım hatalarının takip edilmesi, yeni özelliklerin planlanması, kod incelemeleri ve otomatik test süreçleri de platform üzerinden yürütülebilir.

Örnek olarak VPS Server altyapısı  üzerinde çalışan uygulamalar geliştiren bir ekip kaynak kodlarını GitHub’da tutarak güncellemeleri takip edebilir. Böylece sunucuda çalışan uygulama ile geliştirme ortamındaki kod değişiklikleri daha düzenli yönetilebilir.

GitHub Nasıl Çalışır?

GitHub, Git adlı dağıtık sürüm kontrol sistemini temel alır. Git, dosyalarda yapılan değişikliklerin geçmişini kaydederken GitHub bu kayıtların online ortamda paylaşılmasını ve ekipler tarafından yönetilmesini sağlar.

Geliştiriciler projelerinin yerel kopyaları üzerinde çalışabilir, değişikliklerini Git ile kaydedebilir ve ardından GitHub’a gönderebilir. Bu sayede projenin önceki sürümleri korunur ve ekip üyeleri yapılan değişiklikleri inceleyebilir.

GitHub Çalışma

Repository Nedir?

Repository veya kısaca repo, bir projenin dosyalarını ve sürüm geçmişini barındıran depodur. Kaynak kodları, yapılandırma dosyaları, belgeler ve diğer proje bileşenleri repository içerisinde saklanabilir.

GitHub üzerinde oluşturulan repository’ler public (herkese açık) veya private (özel) olarak yapılandırılabilir. Herkese açık depolar diğer kullanıcılar tarafından görüntülenebilirken özel depolara yalnızca yetkilendirilmiş kişiler erişebilir.

Commit, Branch ve Pull Request Nedir?

GitHub kullanımında sık karşılaşılan üç temel kavram bulunur:

  • Commit: Projede yapılan değişikliklerin Git sürüm geçmişine kaydedilmesidir.
  • Branch: Ana proje üzerinde doğrudan değişiklik yapmadan farklı geliştirmelerin yürütülmesini sağlayan çalışma dalıdır.
  • Pull Request: Bir geliştirme dalındaki değişikliklerin başka bir dala eklenmesi için oluşturulan inceleme ve birleştirme talebidir.

Bu kavramlar, özellikle birden fazla geliştiricinin aynı proje üzerinde çalıştığı durumlarda önem kazanır.

Git ve GitHub Arasındaki Fark Nedir?

Git ve GitHub birbiriyle ilişkili olsa da aynı teknoloji değildir. Git, sürüm kontrol işlemlerini gerçekleştiren bir yazılımdır. GitHub ise Git depolarının barındırılmasını ve iş birliği içerisinde yönetilmesini sağlayan bir platformdur.

Özellik Git GitHub
Temel işlev Sürüm kontrolü Kod barındırma ve proje işbirliği
Kullanım ortamı Yerel bilgisayar veya sunucu Online platform
İnternet gereksinimi Yerel işlemlerde gerekmez. Online işlemler için gerekir.
Kod paylaşımı Uzak depolar aracılığıyla yapılabilir. Yerleşik paylaşım ve işbirliği araçları sunar.
Proje yönetimi Temel sürüm kontrolü Issues, pull request ve proje araçları

Git kullanmak için GitHub hesabı açmak zorunlu değildir. Ancak GitHub, Git ile yönetilen projelerin paylaşılmasını ve ekip çalışmalarının yürütülmesini kolaylaştırır.

GitHub Nasıl Kullanılır?

GitHub kullanmaya başlamak için bir hesap oluşturmak ve ilk repository’nizi hazırlamak yeterlidir. Başlangıç seviyesinde işlemlerin önemli bir bölümü web arayüzü üzerinden gerçekleştirilebilir.

1

GitHub Hesabı Oluşturun

GitHub’ın resmi web sitesine giderek kayıt işlemini tamamlayın. Hesap oluşturulduktan sonra profil bilgilerinizi düzenleyebilir ve yeni projeler oluşturmaya başlayabilirsiniz.

2

Yeni Bir Repository Oluşturun

GitHub hesabınızda yeni repository oluşturma seçeneğini kullanın. Projenize bir isim verin ve deponun herkese açık mı yoksa özel mi olacağını belirleyin.

3

Projeye Dosya Ekleyin

Repository oluşturulduktan sonra web arayüzünden dosya yükleyebilir veya bilgisayarınızdaki Git altyapısını kullanarak komut satırı üzerinden projelerinizi gönderebilirsiniz.

4

Değişiklikleri Kaydedin ve Paylaşın

Dosyalarda yaptığınız değişiklikleri commit ile kaydedip push işlemiyle aktarın. Başkalarıyla ortak çalışmak için pull request süreçlerinden yararlanın.

Özellikleri Nelerdir?

GitHub, kaynak kodlarının saklanmasının yanında yazılım geliştirme süreçlerini destekleyen çeşitli özellikler sunar.

  • Sürüm kontrolü: Kod değişiklikleri ve önceki sürümler takip edilebilir.
  • Pull request: Kod değişiklikleri incelenebilir ve birleştirilmeden önce değerlendirilebilir.
  • Issues: Yazılım hataları, geliştirme talepleri ve görevler takip edilebilir.
  • GitHub Actions: Test, derleme ve dağıtım gibi işlemler otomatikleştirilebilir.
  • GitHub Projects: Görevler ve geliştirme süreçleri proje panolarında düzenlenebilir.
  • GitHub Pages: Desteklenen statik web projeleri yayımlanabilir.
  • Erişim yönetimi: Repository ve organizasyon düzeyinde kullanıcı yetkileri düzenlenebilir.

Bu özellikler sayesinde GitHub, bireysel geliştiricilerin yanı sıra büyük yazılım ekipleri tarafından da kullanılabilir.

GitHub Desktop Nedir?

GitHub Desktop, Git işlemlerini grafiksel arayüz üzerinden gerçekleştirmeyi sağlayan masaüstü uygulamasıdır. Özellikle komut satırına alışık olmayan kullanıcılar için Git kullanımını kolaylaştırır.

Uygulama üzerinden repository klonlama, commit oluşturma, branch değiştirme ve değişiklikleri GitHub’a gönderme gibi işlemler yapılabilir. GitHub Desktop kullanmak zorunlu değildir. Aynı işlemler Git komutları veya Git desteği bulunan farklı geliştirme araçlarıyla da gerçekleştirilebilir.

GitHub Desktop ve GitHub Copilot

GitHub Copilot Nedir?

GitHub Copilot, yazılım geliştirme süreçlerinde yapay zekâ desteği sunan bir kodlama yardımcısıdır. Kullanılan geliştirme ortamına ve mevcut özelliklerine bağlı olarak kod önerileri sunabilir, kodları açıklayabilir ve geliştirme görevlerinde yardımcı olabilir.

Copilot, GitHub’ın temel sürüm kontrol özelliklerinden ayrı bir hizmettir. Kullanım koşulları ve erişilebilen özellikler seçilen plana göre değişebilir. Yapay zeka tarafından üretilen kodların doğruluk, güvenlik ve lisans uygunluğu açısından geliştirici tarafından kontrol edilmesi gerekir.

GitHub ile Web Sitesi Yayınlanabilir mi?

GitHub Pages hizmeti kullanılarak HTML, CSS ve JavaScript gibi dosyalardan oluşan statik web siteleri yayımlanabilir. Bu yöntem kişisel portföyler, proje dokümantasyonları ve basit tanıtım siteleri için uygundur.

Ancak GitHub Pages, PHP gibi sunucu tarafında çalışan uygulamaları veya geleneksel veritabanı tabanlı dinamik web sitelerini doğrudan çalıştırmak için tasarlanmamıştır. Bu tür projelerde GitHub kaynak kodlarının yönetilmesi için kullanılabilir. Uygulamanın çalıştırılması ise ayrı bir sunucu altyapısında gerçekleştirilir.

Mesela VDS Server altyapısına dağıtım yapılan bir projede kaynak kodları GitHub üzerinde tutulabilir. GitHub Actions veya başka bir dağıtım aracı kullanılarak güncellemelerin sunucuya aktarılması otomatikleştirilebilir.

GitHub Kullanmanın Avantajları Nelerdir?

GitHub, yazılım projelerinin geliştirilmesi ve yönetilmesinde çeşitli kolaylıklar sağlar.

✓

Kod geçmişini korur

Yapılan değişiklikler detaylı şekilde takip edilebilir ve gerektiğinde önceki sürümler güvenle incelenip geri yüklenebilir.

✓

Ekip çalışmasını kolaylaştırır

Birden fazla geliştirici aynı proje üzerinde çakışma olmadan, koordineli ve senkronize bir şekilde çalışabilir.

✓

Kod paylaşımını destekler

Açık kaynak projeler kolayca yayımlanabilir ve küresel çapta diğer geliştiricilerin katkıları hızlıca kabul edilebilir.

✓

Proje takibini geliştirir

Hatalar (issues), görevler ve geliştirme talepleri tek bir merkezi ortam üzerinden profesyonelce yönetilebilir.

✓

Otomasyon sağlar

GitHub Actions entegrasyonu sayesinde test, derleme ve dağıtım (CI/CD) işlemleri tamamen otomatize edilebilir.

✓

Farklı cihazlardan erişim sunar

Yetkilendirilmiş kullanıcılar internet bağlantısı olan herhangi bir cihazdan proje depolarına güvenle ulaşabilir.

Ücretsiz mi?

GitHub, bireysel kullanıcılar ve ekipler için ücretsiz bir plan sunar. Ücretsiz plan kapsamında herkese açık ve özel repository oluşturulabilir, temel Git ve iş birliği özellikleri kullanılabilir.

Bununla birlikte GitHub Actions kullanım süreleri, depolama alanları, gelişmiş güvenlik özellikleri ve kurumsal yönetim araçları gibi bazı hizmetlerde plana bağlı sınırlar veya ek ücretler bulunabilir.

GitHub Copilot gibi ayrı hizmetlerin de kendilerine özgü ücretsiz ve ücretli kullanım seçenekleri olabilir. Güncel plan kapsamları GitHub’ın resmi fiyatlandırma sayfasından kontrol edilmelidir.

Kullanırken Nelere Dikkat Edilmeli?

GitHub üzerinde proje yönetirken özellikle erişim yetkileri ve hassas bilgilerin korunması önemlidir. API anahtarları, parolalar, veritabanı bağlantı bilgileri ve özel erişim belirteçleri kaynak kodlarına eklenmemelidir. Bu tür bilgiler ortam değişkenleri veya uygun gizli bilgi yönetim araçlarıyla korunmalıdır.

Ayrıca projelerin public veya private ayarları düzenli olarak kontrol edilmeli, iki aşamalı kimlik doğrulama kullanılmalı ve üçüncü taraf uygulamalara verilen erişim izinleri gözden geçirilmelidir. Özel bir repository kullanmak tek başına tüm güvenlik risklerini ortadan kaldırmaz. Proje bağımlılıklarının güncellenmesi ve güvenlik uyarılarının takip edilmesi de önemlidir.

Sık Sorulan Sorular

Hayır. GitHub üzerinde proje incelemek, dosya indirmek veya dokümantasyon okumak için kodlama bilgisi zorunlu değildir. Ancak yazılım geliştirmek ve projelere teknik katkıda bulunmak için temel programlama ve Git bilgisi faydalıdır.

GitHub ve GitLab, Git tabanlı proje barındırma ve iş birliği platformlarıdır. Her ikisi de repository yönetimi, kod inceleme ve otomasyon özellikleri sunar. Aralarındaki farklar sunulan araçlar, barındırma seçenekleri, entegrasyonlar ve lisanslama modellerinde ortaya çıkar.

GitHub üzerinde herkese açık ve özel repository oluşturulabilir. Public repository'ler diğer kullanıcılar tarafından görüntülenebilir. Private repository'lere ise yalnızca erişim izni bulunan kullanıcılar ulaşabilir.

GitHub üzerinde bir repository açarak Code menüsündeki ZIP indirme seçeneğini kullanabilirsiniz. Git kurulu bir bilgisayarda ise repository adresiyle git clone komutunu çalıştırarak projeyi yerel ortamınıza kopyalayabilirsiniz.

Yorum Yap

Click here to post a comment