← Back to Blog
TEKNIK

Git ve Versiyon Kontrolü

F. Çağrı BilgehanJanuary 22, 202611 min read
gitversiyon kontrolügithubgeliştirme araçları

Git ve Versiyon Kontrolü: Başlangıçtan İleri Seviyeye Rehber

Git, Linus Torvalds tarafından 2005'te geliştirilmiş, dünyanın en yaygın kullanılan dağıtık versiyon kontrol sistemidir. Kodunuzun her versiyonunu, her değişikliğini ve her dalını takip eder.

Neden Versiyon Kontrolü?

  • Tarihçe — Her değişiklik kaydedilir, istediğiniz noktaya dönebilirsiniz
  • İşbirliği — Birden fazla geliştirici aynı projede çalışabilir
  • Deneme — Branch'lerde güvenle deneyebilirsiniz
  • Yedekleme — Uzak repo (GitHub/GitLab) ile verileriniz güvende

Temel Kavramlar

Repository (Repo)

Projenizin tüm dosyalarını ve geçmişini saklayan yapı:

# Yeni repo başlat
git init

# Mevcut bir repoyu kopyala
git clone https://github.com/user/project.git

Stage, Commit, Push

Working Directory → Staging Area → Local Repo → Remote Repo
      ↑                ↑              ↑             ↑
   (git add)      (git commit)   (git push)
# Değişiklikleri staging'e ekle
git add src/components/Header.tsx

# Tümünü ekle
git add .

# Commit et
git commit -m "feat: navbar mobil menü eklendi"

# Remote'a gönder
git push origin main

Branch (Dal)

Ana koddan ayrılarak bağımsız geliştirme yapma:

# Yeni branch oluştur ve geç
git checkout -b feature/login-page

# Branch listesi
git branch -a

# Branch'ler arası geçiş
git checkout main

Merge

Branch'leri birleştirme:

# main branch'e geç
git checkout main

# feature branch'i birleştir
git merge feature/login-page

Rebase

Branch'i ana dalın son haliyle güncelleme (daha temiz geçmiş):

git checkout feature/login-page
git rebase main

Commit Mesajı Kuralları

Conventional Commits formatı:

<tür>(<kapsam>): <açıklama>

feat:     Yeni özellik
fix:      Bug düzeltmesi
docs:     Dokümantasyon
style:    Biçimlendirme
refactor: Yeniden yapılandırma
test:     Test ekleme/düzeltme
chore:    Bakım işleri
# ✅ İyi commit mesajları
git commit -m "feat(auth): Google OAuth entegrasyonu eklendi"
git commit -m "fix(payment): decimal kesme hatası düzeltildi"
git commit -m "docs: API endpoint dökümanları güncellendi"

# ❌ Kötü commit mesajları
git commit -m "fix"
git commit -m "düzeltmeler"
git commit -m "asdfg"

Git Workflow Stratejileri

1. GitHub Flow (Basit)

main ─────────────────────────────→
       ↑ feature/x → PR → merge ↗

2. Git Flow (Kurumsal)

main ─────────────────────────────→
develop ──────────────────────────→
  ↑ feature/x → merge ↗
  ↑ release/v1.0 → merge to main
  ↑ hotfix/bug → merge to main + develop

3. Trunk-Based (Modern)

main ─────────────────────────────→
  ↑ short-lived branch (1-2 gün) → merge
  ↑ short-lived branch → merge

Sık Kullanılan Komutlar

| Komut | Açıklama | |-------|----------| | git status | Değişiklikleri göster | | git log --oneline | Commit geçmişi | | git diff | Farkları göster | | git stash | Değişiklikleri geçici sakla | | git stash pop | Saklananları geri yükle | | git reset --soft HEAD~1 | Son commit'i geri al (değişiklikler kalır) | | git cherry-pick <hash> | Tek bir commit'i al | | git blame <dosya> | Her satırı kimin yazdığını göster |

Conflict (Çakışma) Çözümü

İki branch aynı satırı değiştirdiğinde çakışma olur:

<<<<<<< HEAD
const title = "Merhaba Dünya";
=======
const title = "Hello World";
>>>>>>> feature/english

Manuel olarak doğru olan versiyonu seçin veya birleştirin, sonra:

git add .
git commit -m "fix: merge conflict çözüldü"

Sonuç

Git, modern yazılım geliştirmenin temel aracıdır. Başlangıçta add, commit, push üçlüsüyle başlayın, zamanla branch stratejileri ve ileri komutları öğrenin.

Git ve yazılım geliştirme araçlarını LabLudus platformunda interaktif görevlerle öğrenin.

Related Posts

Acik Kaynak Yazilim Rehberi: Nedir, Nasil Katki Yapilir?

Acik kaynak yazilim nedir ve nasil katkida bulunulur?

CI/CD Nedir? Surekli Entegrasyon ve Dagitim Rehberi

CI/CD nedir ve nasil kurulur?