Git ve GitHub Başlangıç Rehberi: Versiyon Kontrolü
zafer ak
Yazar
Git, dünyanın en popüler dağıtık versiyon kontrol sistemidir. GitHub ise Git repository'lerini barındıran ve işbirliği sağlayan bir platformdur.
Git Neden Önemli?
- Versiyon takibi: Tüm değişikliklerin kaydı
- İşbirliği: Ekip çalışması kolaylığı
- Branching: Paralel geliştirme
- Geri alma: Hata durumunda eski versiyona dönüş
- Backup: Kodun güvenli saklanması
Git Kurulumu
# Ubuntu/Debian
sudo apt install git
# macOS
brew install git
# Windows
# https://git-scm.com/download/win
# Yapılandırma
git config --global user.name "Adınız"
git config --global user.email "email@example.com"
git config --global init.defaultBranch main
Temel Git Komutları
# Repository oluşturma
git init
# Mevcut repository klonlama
git clone https://github.com/user/repo.git
# Durum kontrolü
git status
# Değişiklikleri stage'e ekleme
git add file.txt
git add . # Tüm değişiklikler
# Commit oluşturma
git commit -m "Açıklayıcı mesaj"
# Log görüntüleme
git log --oneline
git log --graph --all
# Remote ekleme
git remote add origin https://github.com/user/repo.git
# Push
git push -u origin main
# Pull
git pull origin main
Branch Yönetimi
# Branch listesi
git branch
git branch -a # Remote dahil
# Yeni branch oluştur
git branch feature/login
# Branch değiştir
git checkout feature/login
git switch feature/login # Yeni yöntem
# Oluştur ve geç
git checkout -b feature/login
git switch -c feature/login
# Branch silme
git branch -d feature/login
git branch -D feature/login # Zorla sil
Merge ve Rebase
# Merge
git checkout main
git merge feature/login
# Rebase
git checkout feature/login
git rebase main
# Conflict çözümü
# Dosyaları düzenle, sonra:
git add .
git rebase --continue # veya
git merge --continue
GitHub Workflow
Fork ve Pull Request
- Repository'yi fork edin
- Fork'u klonlayın
- Feature branch oluşturun
- Değişiklikleri yapın ve commit edin
- Fork'unuza push edin
- Pull Request açın
# Fork'u klonla
git clone https://github.com/YOUR-USER/repo.git
# Upstream ekle
git remote add upstream https://github.com/ORIGINAL/repo.git
# Upstream'i sync et
git fetch upstream
git checkout main
git merge upstream/main
Git Best Practices
- Küçük, sık commit: Atomik değişiklikler yapın
- Anlamlı mesajlar: Ne ve neden değişti
- Feature branch: Her özellik için ayrı branch
- Pull before push: Çakışmaları önleyin
- Code review: PR'ları inceleyin
Commit Mesaj Formatı
# Conventional Commits
feat: yeni kullanıcı kayıt formu eklendi
fix: login hatası düzeltildi
docs: README güncellendi
style: kod formatı düzenlendi
refactor: auth modülü yeniden yapılandırıldı
test: user testleri eklendi
chore: bağımlılıklar güncellendi
.gitignore
# .gitignore
node_modules/
vendor/
.env
*.log
.DS_Store
dist/
build/
*.pyc
__pycache__/
Sonuç
Git ve GitHub, modern yazılım geliştirmenin temel araçlarıdır. Düzenli pratik yaparak bu araçlarda uzmanlaşabilir ve ekip çalışmanızı geliştirebilirsiniz.