GitHub Nedir, Ne İşe Yarar? Git ve GitHub Rehberi
GitHub'ın ne olduğunu, Git'ten farkını, repository, commit, branch ve pull request kavramlarını öğren. Yeni başlayanlar için örnekler, ilk projeni GitHub'a yükleme adımları ve uygulamalı mini çalışma.

GitHub Nedir, Ne İşe Yarar? Yeni Başlayanlar İçin Git ve GitHub Rehberi
Kodunu bilgisayarında kaybetme korkusu, "son çalışan sürüm hangisiydi?" karmaşası ve ekip arkadaşınla aynı dosyada çakışma... GitHub tam olarak bu sorunları çözmek için kullanılır. Bu rehberde GitHub'ın ne olduğunu, Git'ten farkını ve ilk projeni nasıl yükleyeceğini adım adım öğreneceksin.
Okuma süresi: 8-10 dakika Seviye: Başlangıç → Orta Konu: GitHub, Git, versiyon kontrolü, işbirliği
İçindekiler
- GitHub nedir?
- Git ile GitHub arasındaki fark
- Temel kavramlar
- GitHub hesabı açma ve ilk repository
- Git ile projeni GitHub'a yükleme
- Branch ve Pull Request ile işbirliği
- GitHub'ın diğer yararlı özellikleri
- Uygulamalı mini çalışma
- Sık sorulan sorular
- Güvenlik ve gizlilik
- Özet ve pratik görevler
1. GitHub nedir?
GitHub, projelerini internet üzerinde saklayabildiğin, sürümlerini takip edebildiğin ve başkalarıyla birlikte geliştirebildiğin bir platformdur. En çok yazılım projeleri için kullanılır; ama aynı mantıkla dokümantasyon, ders notu, tasarım dosyası ve metin projeleri de saklanabilir.
GitHub ile şunları yapabilirsin:
- Projenin dosyalarını internette güvenli bir yerde yedeklemek.
- Yaptığın her değişikliği kaydedip geçmişe dönüp bakmak.
- Bir hata yaptığında önceki çalışan sürüme geri dönmek.
- Aynı projede başkalarıyla çakışmadan birlikte çalışmak.
- Açık kaynak projeleri incelemek ve onlara katkı vermek.
- Kendi projelerini portfolyo olarak başkalarına göstermek.
- Hata ve görev takibi yapmak, basit statik web siteleri yayınlamak.
Önemli: GitHub'a yüklediğin her şey herkese açık olmak zorunda değildir. Depolar herkese açık (public) veya özel (private) olabilir. Neyi kimin görebileceğini sen belirlersin.
2. Git ile GitHub arasındaki fark
Başlangıçta en çok karıştırılan konu budur. İkisi birbiriyle ilişkilidir ama aynı şey değildir.
| Git | GitHub | |
|---|---|---|
| Nedir? | Bilgisayarında çalışan sürüm kontrol sistemi | Git depolarını internette barındıran platform |
| Nerede çalışır? | Kendi bilgisayarında (internet şart değil) | Tarayıcıda ve internet üzerinde |
| Ne yapar? | Değişiklikleri kaydeder, sürüm geçmişi tutar | Depoyu paylaşır, ekip çalışması ve inceleme sağlar |
| Nasıl kullanılır? | Komut satırı veya arayüz araçlarıyla | Web sitesi, Git komutları veya uygulamalar |
Kısaca: Git bir araçtır, GitHub o aracın depolarını barındırdığı ve ekip çalışması özellikleri sunduğu bir hizmettir. Benzer hizmetler de vardır; ama GitHub en yaygın olanlardan biridir.
3. Temel kavramlar
GitHub'ı anlamak için birkaç terimi bilmen yeterli.
| Terim | Anlamı |
|---|---|
| Repository (depo, repo) | Projenin dosyalarının ve sürüm geçmişinin bulunduğu klasör |
| Commit | Değişikliklerin açıklamayla birlikte kaydedilmiş bir anlık görüntüsü |
| Branch (dal) | Ana projeyi bozmadan yeni bir şey denemek için açılan ayrı çalışma hattı |
| Merge (birleştirme) | Bir daldaki değişiklikleri başka bir dalla birleştirme |
| Clone | Uzaktaki bir depoyu bilgisayarına indirme |
| Push | Bilgisayarındaki commit'leri GitHub'a gönderme |
| Pull | GitHub'daki güncel değişiklikleri bilgisayarına çekme |
| Fork | Başkasının deposunun kendi hesabında bir kopyasını oluşturma |
| Pull Request (PR) | "Değişikliklerimi şu dala birleştirir misin?" diye yapılan inceleme isteği |
| Issue | Hata bildirimi, görev veya fikir kaydı |
| README | Projeyi tanıtan, genellikle README.md adlı açıklama dosyası |
Aşağıdaki görsel, bu kavramların günlük iş akışında nasıl bir araya geldiğini özetliyor:

Commit'i nasıl düşünmelisin?
Commit'i bir oyundaki kayıt noktası gibi düşünebilirsin. Her commit'te şu bilgiler tutulur:
- Hangi dosyalarda ne değişti.
- Değişikliği kim yaptı ve ne zaman yaptı.
- Değişikliği anlatan kısa bir mesaj.
İyi bir commit mesajı kısa ve açıklayıcıdır: Giriş formuna e-posta doğrulaması eklendi gibi. düzeltme veya son hali gibi mesajlar aylar sonra hiçbir şey anlatmaz.
4. GitHub hesabı açma ve ilk repository
- Tarayıcıdan GitHub'ın resmi sitesine git ve Sign up ile hesap oluştur.
- E-posta adresini doğrula.
- Hesabında güvenliği artırmak için iki adımlı doğrulamayı (2FA) etkinleştir.
- Sağ üstteki + simgesine tıkla ve New repository seçeneğini seç.
- Depo adını yaz, örneğin
github-deneme. - İstersen kısa bir açıklama ekle ve Public veya Private seç.
- Add a README file seçeneğini işaretle ve Create repository düğmesine bas.
Tebrikler, ilk deponu oluşturdun! Depo sayfasında dosyalarını, commit geçmişini ve README.md içeriğini görebilirsin.
İpucu: Git komutlarına hazır değilsen GitHub'ın web arayüzünden Add file → Upload files ile de dosya yükleyebilirsin. Ancak sürekli proje geliştireceksen Git'i öğrenmen çok daha verimli olur.
5. Git ile projeni GitHub'a yükleme
Önce bilgisayarına Git'i kurman gerekir. Kurulumdan sonra terminalde (Windows'ta Git Bash veya PowerShell) şu komutla kontrol et:
git --version
Kimliğini bir kez tanıt. Bu bilgiler commit'lerinde görünür:
git config --global user.name "Adın Soyadın"
git config --global user.email "[email protected]"
Şimdi GitHub'da oluşturduğun depoyu bilgisayarına indir:
git clone https://github.com/KULLANICI_ADIN/github-deneme.git
cd github-deneme
Bu klasörde değişiklik yaptıktan sonra üç temel adımı uygularsın:
git add .
git commit -m "Yeni dosya eklendi"
git push
git add .değişen dosyaları commit'e hazırlar.git commitbu değişiklikleri mesajla birlikte kaydeder.git pushcommit'leri GitHub'a gönderir.
Kimlik doğrulama notu
GitHub, Git işlemlerinde hesap parolanı kabul etmez. Bunun yerine genellikle şu yöntemlerden biri kullanılır:
- Git'in kimlik yöneticisi (Windows'ta Git ile birlikte gelen Git Credential Manager tarayıcıdan giriş yapmanı sağlar).
- SSH anahtarı.
- Kişisel erişim belirteci (personal access token).
- GitHub CLI (
gh auth login).
Hangi yöntemin sende çalıştığı işletim sistemine ve kuruluma göre değişebilir; takılırsan GitHub'ın resmi dokümanlarına bak.
6. Branch ve Pull Request ile işbirliği
Ana dal genellikle main adını taşır. Yeni bir şey denerken doğrudan main üzerinde çalışmak yerine ayrı bir dal açmak iyi bir alışkanlıktır.
git switch -c iletisim-sayfasi
Değişikliklerini yap, commit'le ve dalı GitHub'a gönder:
git add .
git commit -m "İletişim sayfası eklendi"
git push -u origin iletisim-sayfasi
Sonra GitHub'da depo sayfasını aç. Genellikle gönderdiğin dal için Compare & pull request düğmesi görünür. Buna tıklayıp başlık ve açıklama yazarak bir Pull Request açarsın.
Pull Request'te şunlar olur:
- Takım arkadaşların değişikliklerini satır satır inceler.
- Yorum bırakabilir, düzeltme isteyebilir veya onaylayabilir.
- Her şey uygunsa değişiklik
maindalına birleştirilir (merge).
Başkasının projesine katkı vermek
Sahibi olmadığın bir açık kaynak projeye katkı vermek istiyorsan genellikle şu yolu izlersin:
- Projeyi Fork ile kendi hesabına kopyala.
- Kendi kopyanı
cloneile bilgisayarına indir. - Yeni bir branch açıp değişikliğini yap.
- Push ettikten sonra asıl projeye Pull Request gönder.
Birçok projede katkı kuralları CONTRIBUTING.md dosyasında yazar; göndermeden önce okumak işini kolaylaştırır.
7. GitHub'ın diğer yararlı özellikleri
Issues — hata ve görev takibi
Issues bölümünde hata bildirimleri, yapılacaklar ve fikirler listelenir. Her kaydı etiketleyebilir, birine atayabilir ve Pull Request ile ilişkilendirebilirsin.
Projects — planlama panosu
Görevlerini tablo veya pano görünümünde takip etmeni sağlar. Küçük ekipler ve kişisel projeler için pratik bir planlama aracıdır.
GitHub Pages — statik site yayınlama
HTML, CSS ve JavaScript'ten oluşan statik web sitelerini doğrudan deponun içinden yayınlayabilirsin. Portfolyo veya proje tanıtım sayfası için sık kullanılır.
GitHub Actions — otomasyon
Kod gönderildiğinde testleri otomatik çalıştırmak veya siteyi otomatik yayınlamak gibi işleri tanımlamanı sağlar. Başlangıç için zorunlu değildir; ileride öğrenebilirsin.
Releases — sürüm yayınlama
Projenin kararlı sürümlerini etiketleyip indirilebilir paketler halinde yayınlamak için kullanılır.
Discussions ve Codespaces
Discussions topluluk tartışmaları içindir. Codespaces ise tarayıcıda hazır bir geliştirme ortamı açmanı sağlayabilir. Bazı özellikler hesap türüne ve plana göre değişebilir; güncel kapsam için GitHub'ın kendi sayfasına bakmalısın.
8. Uygulamalı mini çalışma: İlk deponu yayınla
Bu alıştırmayı bilgisayarındaki boş bir klasörde yapabilirsin. Git'in kurulu olduğundan ve GitHub hesabında giriş yapabildiğinden emin ol.
1. GitHub'da github-deneme adında boş bir depo oluştur (README ekleme seçeneğini işaretleme).
2. Bilgisayarında bir klasör aç ve içine terminali yönlendir:
mkdir github-deneme
cd github-deneme
git init
3. Basit bir README dosyası oluştur:
echo "# GitHub Deneme" > README.md
4. Dosyayı commit'le:
git add README.md
git commit -m "İlk commit: README eklendi"
5. Ana dalın adını main yap ve GitHub deposuna bağla:
git branch -M main
git remote add origin https://github.com/KULLANICI_ADIN/github-deneme.git
6. Gönder:
git push -u origin main
7. GitHub'da depo sayfasını yenile. README.md dosyanı ve ilk commit'ini görmelisin.
8. Şimdi README.md dosyasına bir satır ekle, kaydet ve şu komutlarla tekrar gönder:
git add README.md
git commit -m "README güncellendi"
git push
GitHub'da Commits bölümüne bakarak iki commit'in geçmişini görebilirsin.
Bu mini çalışma sana üç önemli beceri kazandırır: depo oluşturmak, değişikliği commit'lemek ve GitHub'a göndermek.
9. Sık sorulan sorular
GitHub ücretsiz mi?
Temel kullanım için ücretsiz bir plan bulunur ve ücretsiz hesaplarda da özel depo oluşturulabilir. Ancak planlar, limitler ve bazı özellikler zamanla değişebilir; güncel bilgi için GitHub'ın fiyatlandırma sayfasına bak.
Git öğrenmeden GitHub kullanabilir miyim?
Evet, web arayüzünden dosya yükleyip düzenleyebilirsin. Ama proje büyüdükçe Git komutları işini çok kolaylaştırır; temel birkaç komutu öğrenmeye değer.
GitHub yalnızca yazılımcılar için mi?
Hayır. Metin tabanlı her türlü proje için kullanılabilir: ders notları, dokümantasyon, makale taslakları, tasarım dosyaları ve ortak çalışma yapılan listeler.
GitHub'a yüklediğim kodu herkes görebilir mi?
Sadece public depolar herkese açıktır. Private depoları yalnızca sen ve davet ettiğin kişiler görebilir.
Yanlış bir şey commit'lersem ne olur?
Çoğu durumda yeni bir commit ile düzeltebilir veya Git'in geri alma komutlarını kullanabilirsin. Ancak içine parola ya da anahtar gibi gizli bilgi yazdıysan, bunu sadece silmek yetmez; aşağıdaki güvenlik bölümüne bak.
git push hata veriyor, ne yapmalıyım?
Hata mesajını dikkatle oku. Sık nedenler: yanlış depo adresi, kimlik doğrulama sorunu, uzak depoda senin bilgisayarında olmayan yeni commit'lerin bulunması (önce git pull gerekebilir) veya yazma izninin olmaması.
10. Güvenlik ve gizlilik
GitHub'a yüklenen şeyler, özellikle public depolarda, başkaları tarafından görülebilir. Bu yüzden dikkatli ol.
- Parola, API anahtarı, token ve
.envdosyası gibi gizli bilgileri asla commit'leme. - Gizli dosyalarını
.gitignoredosyasına ekleyerek Git'in takip etmesini engelle. - Bir gizli bilgiyi yanlışlıkla yüklediysen onu hemen iptal edip yenisini oluştur. Dosyayı silmek yetmez, çünkü bilgi commit geçmişinde kalabilir.
- Hesabında iki adımlı doğrulamayı (2FA) etkinleştir.
- İnternetten bulduğun kodu çalıştırmadan önce ne yaptığını anlamaya çalış.
- Başkalarının projelerini kullanırken lisans dosyasını (
LICENSE) kontrol et. - Ekran görüntüsü paylaşırken token, e-posta ve kişisel bilgileri gizle.
- Bir projede güvenlik açığı fark edersen sistemi istismar etmek yerine sahibinin bildirim kanalını kullan.
11. Özet: GitHub'ı hangi durumda kullanmalısın?
| İhtiyaç | GitHub'daki karşılığı |
|---|---|
| Projemi internette yedeklemek | Repository |
| Değişiklik geçmişini tutmak | Commit |
| Ana projeyi bozmadan denemek | Branch |
| Değişikliği incelemeye sunmak | Pull Request |
| Hata veya görev takibi yapmak | Issues |
| Planlama panosu kurmak | Projects |
| Statik web sitesi yayınlamak | GitHub Pages |
| Başkasının projesine katkı vermek | Fork + Pull Request |
Kendini dene
- GitHub hesabı aç ve iki adımlı doğrulamayı etkinleştir.
-
github-denemeadında bir depo oluştur. - Bilgisayarına Git'i kur ve
git --versionkomutunu çalıştır. - İlk commit'ini yapıp
git pushile GitHub'a gönder. - Yeni bir branch açıp bir Pull Request oluştur.
-
.gitignoredosyası oluşturup gizli dosyalarını ekle.
Son söz: GitHub'ı öğrenmek, projelerini yalnızca bilgisayarında tutmaktan çıkıp onları saklayan, geliştiren ve paylaşan biri olmaktır. Küçük depolarla başla, düzenli commit at ve hatalarından çekinme; çünkü Git sayesinde geri dönmek her zaman mümkündür. Bir süre sonra GitHub günlük çalışma alışkanlığının doğal bir parçası olacak.
Bu yazı eğitim amaçlıdır. GitHub arayüzü, planlar ve özellikler zamanla değişebilir; güncel bilgi için resmi dokümanlara bakabilirsin.



