Ana Site Wiki GitHub

⚡ Modül 5: İleri Seviye

Rebase, Stash, Cherry-pick ve GitHub Actions ile otomasyon.

~2 saat
İleri

🔀 Git Rebase

Rebase, commit geçmişini yeniden düzenlemenizi sağlar.

Altın Kural: Push edilmiş commit'leri asla rebase yapmayın!

Merge vs Rebase

Özellik Merge Rebase
Geçmiş Merge commit oluşturur Linear geçmiş
Güvenlik Geçmişi değiştirmez Geçmişi yeniden yazar
Kullanım Takım çalışmasında Bireysel temizlik
Terminal
# main üzerine rebase
git checkout feature-branch
git rebase main

# İnteraktif rebase (son 3 commit)
git rebase -i HEAD~3

# Conflict çözdükten sonra devam
git rebase --continue

# İptal et
git rebase --abort

📦 Git Stash

Değişikliklerinizi geçici olarak saklayın, başka bir işe geçin, sonra geri alın.

Terminal
# Değişiklikleri sakla
git stash

# Mesaj ile sakla
git stash save "login WIP"

# Stash listesi
git stash list

# Son stash'ı geri al ve sil
git stash pop

# Son stash'ı geri al (silme)
git stash apply

# Belirli stash'ı uygula
git stash apply stash@{2}

# Stash sil
git stash drop stash@{0}

# Tüm stash'ları sil
git stash clear

🍒 Cherry-pick

Belirli bir commit'i başka bir branch'a uygulayın:

Terminal
# Commit hash'ini al ve uygula
git cherry-pick abc1234

# Birden fazla commit
git cherry-pick abc1234 def5678

# Commit oluşturmadan uygula
git cherry-pick --no-commit abc1234

🤖 GitHub Actions

GitHub Actions, CI/CD pipeline oluşturmanızı sağlar.

Workflow Yapısı

.github/workflows/ci.yml
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
      
      - name: Install dependencies
        run: npm ci
      
      - name: Run tests
        run: npm test

Temel Kavramlar

Kavram Açıklama
Workflow Otomatik süreç tanımı (.yml)
Event Tetikleyici (push, PR, schedule)
Job Paralel çalışabilen iş grubu
Step Job içindeki tek adım
Action Hazır iş parçacıkları