GitHub Nedir, Ne İşe Yarar?
GitHub, yazılımcıların kodlarını sakladığı, versiyonladığı, paylaştığı ve ekip halinde geliştirdiği bir platformdur. Git adlı versiyon kontrol sisteminin üzerine kuruludur. Git kod geçmişini yönetir; GitHub ise bu geçmişi bulutta saklar, ekip çalışmasını ve proje yönetimini kolaylaştırır.
Kısa cevap: GitHub, yazılım projeleri için kod deposu, iş birliği alanı ve portfolyo platformudur.
Git komutlarını baştan sona öğrenmek istersen Git ve GitHub Kullanımı rehberiyle bunu pekiştirebilirsin.
Git ve GitHub Aynı Şey Mi?
Hayır. Bu iki kavram sık karıştırılır.
| Kavram | Görevi |
|---|---|
| Git | Kod geçmişini yerel bilgisayarda takip eder |
| GitHub | Git depolarını bulutta barındırır ve ekip çalışması sağlar |
Git olmadan GitHub'ın temel mantığı eksik kalır. GitHub olmadan da Git kullanabilirsin, fakat ekip çalışması, paylaşım ve açık kaynak katkısı daha zor olur.
Repository Nedir?
Repository, bir yazılım projesinin kod deposudur. İçinde kaynak kodlar, dokümantasyon, konfigürasyon dosyaları, testler ve proje geçmişi bulunur.
Bir repository genelde şunları içerir:
- Kaynak kod dosyaları
- README dosyası
- Lisans bilgisi
- Test dosyaları
- Paket dosyaları
- CI/CD ayarları
- Issue ve pull request geçmişi
İyi bir repository, projeyi ilk kez gören birinin ne yaptığını ve nasıl çalıştırılacağını anlayabileceği kadar düzenlidir.
Commit Nedir?
Commit, kod geçmişinde alınan kayıt noktasıdır. Her commit, projede yapılan değişiklikleri ve açıklamasını içerir.
İyi commit mesajı örnekleri:
Kötü commit mesajları:
Commit mesajı, gelecekte projeyi inceleyen kişiye ne değiştiğini anlatmalıdır.
Branch Nedir?
Branch, ana kodu bozmadan yeni özellik veya düzeltme geliştirmek için kullanılan çalışma dalıdır.
Örnek:
Bu komut yeni bir dal açar. Böylece ana main dalına dokunmadan SEO makaleleri üzerinde çalışabilirsin.
Yaygın branch isimleri:
feature/kullanici-profilifix/mobil-menu-tasmachore/paket-guncellemedocs/readme-duzenleme
Pull Request Nedir?
Pull Request, bir branchte yapılan değişiklikleri ana dala almak için açılan inceleme isteğidir. Ekip projelerinde kod genellikle doğrudan main dalına gönderilmez. Önce pull request açılır, sonra kod incelenir, testler çalışır ve onaydan sonra merge edilir.
Pull request şunları sağlar:
- Kod incelemesi
- Değişiklik özeti
- Tartışma alanı
- Otomatik test kontrolü
- Güvenli merge süreci
Profesyonel ekiplerde pull request kültürü çok önemlidir.
Issue Nedir?
Issue, projedeki hata, görev, öneri veya geliştirme talebini takip etmek için kullanılır.
Örnek issue başlıkları:
- Mobilde makale başlığı taşıyor
- Admin panelde tema seçimi açık modda arka planı güncellemiyor
- Sitemap yeni makaleleri listelemiyor
- README kurulum adımları eksik
Issue, işin kaybolmasını engeller ve proje geçmişini daha anlaşılır yapar.
README Neden Önemli?
README, projenin vitrinidir. GitHub profilini inceleyen biri genelde önce README dosyasına bakar.
İyi README içeriği:
- Proje ne yapar?
- Hangi teknolojiler kullanıldı?
- Kurulum nasıl yapılır?
- Ortam değişkenleri nelerdir?
- Komutlar nelerdir?
- Ekran görüntüsü veya demo var mı?
- Bilinen eksikler nelerdir?
Basit README iskeleti:
GitHub Portfolyo Olarak Nasıl Kullanılır?
İş veya staj başvurularında GitHub profili güçlü bir sinyal olabilir. Ancak boş repository, tek commit ve açıklamasız proje zayıf görünür.
Güçlü GitHub profili için:
- Profil README dosyası oluştur.
- En iyi projelerini pinle.
- Projelerde açıklayıcı README kullan.
- Düzenli commit at.
- Kodları klasörlere ayır.
- Demo linki ekle.
- Gereksiz dosyaları
.gitignoreile dışarıda bırak. - Açık kaynak projeleri incele.
GitHub, sadece kod deposu değil, öğrenme geçmişinin izidir.
Yeni Başlayanlar İçin GitHub İş Akışı
Basit bir proje için temel akış:
Ardından GitHub üzerinden pull request açılır.
GitHub Güvenliği
GitHub'a asla gizli anahtar, veritabanı şifresi veya API token göndermemelisin.
Dikkat etmen gerekenler:
.envdosyasını commit etme..env.exampledosyasıyla örnek değişkenleri göster.- GitHub secret scanning uyarılarını ciddiye al.
- Public repository içinde kişisel token bırakma.
- Yetki verdiğin uygulamaları düzenli kontrol et.
- 2FA kullan.
Yanlışlıkla secret commit ettiysen sadece dosyayı silmek yetmez; ilgili anahtarı iptal edip yenilemen gerekir.
GitHub Öğrenmek İçin Mini Plan
| Gün | Konu |
|---|---|
| 1 | Git kurulumu ve repository oluşturma |
| 2 | commit, status, log |
| 3 | branch ve merge |
| 4 | GitHub remote ve push |
| 5 | README ve .gitignore |
| 6 | pull request |
| 7 | küçük proje yayınlama |
Bu planı tamamladığında GitHub'ı profesyonel düzeyde değil ama günlük geliştirme için yeterli seviyede kullanmaya başlarsın.
Devam Etmek İçin Önerilen İçerikler
- Git ve GitHub Kullanımı
- Git İleri Seviye Teknikleri
- Yazılımcı Olmak İçin Nereden Başlamalıyım?
- Linux Nedir?
Sık Sorulan Sorular
GitHub ücretsiz mi?
Evet. GitHub ücretsiz planla public ve private repository oluşturmayı destekler. Daha gelişmiş ekip ve kurumsal özellikler için ücretli planlar bulunur.
GitHub bilmeden işe girilir mi?
Bazı pozisyonlarda mümkün olabilir, fakat modern yazılım ekiplerinde Git ve GitHub bilgisi temel beklentidir. En azından branch, commit, pull request ve conflict mantığını bilmek gerekir.
GitHub profilim boşsa ne yapmalıyım?
Küçük ama tamamlanmış projeler ekle. Her projeye README yaz, düzenli commit at ve en iyi 3 projeni profilinde öne çıkar.