Git, yazılım geliştirme süreçlerinde versiyon kontrolü sağlayan güçlü bir araçtır. Bu rehberde, Git’in temel komutlarını ve kullanımlarını detaylı bir şekilde inceleyeceğiz.
Git Reposu Oluşturma
Bir dizini Git deposuna çevirmek için aşağıdaki komutu kullanabilirsiniz:
git init
Bu komut çalıştırıldığında, .git
adında gizli bir dizin oluşturulur ve bu dizin, versiyon kontrolü bilgilerini içerir.
Mevcut Bir Git Reposunu Klonlama
Eğer bir projeye uzaktan erişim sağlamak ve kendi bilgisayarınıza indirmek istiyorsanız:
git clone <repo_adresi>
Örneğin:
git clone https://github.com/kullanici/proje.git
Bu komut, belirtilen URL’deki depoyu, yerel bilgisayarınıza indirir.
Dosyaları Git Reposuna Eklemek
Çalışma dizininize eklediğiniz veya güncellediğiniz dosyaları Git’e eklemek için:
- Tek bir dosyayı eklemek:
git add dosya_adı
- Tüm dosyaları eklemek:
git add .
Değişiklikleri Kaydetme (Commit)
Dosyaları ekledikten sonra, bunları Git deposuna kaydetmek için:
git commit -m "Commit mesajı"
Örnek:
git commit -m "Ana sayfa tasarımı güncellendi"
Deponun Güncel Durumunu Kontrol Etme
Çalışma dizininin mevcut durumunu görmek için:
git status
Bu komut, izlenmeyen, değiştirilmiş ve commitlenmemiş dosyaları gösterir.
Branch (Dal) İşlemleri
Branch’ler, projede farklı özellikler geliştirmek için kullanılır.
Yeni Bir Branch Oluşturma
git branch newBranch
Bu komut, newBranch
adında yeni bir dal oluşturur.
Branch Değiştirme
git checkout development
Bu komut, development
dalına geçiş yapar.
Yeni Bir Branch Oluşturup Ona Geçme
git checkout -b newBranch
Bu, yeni bir dal oluşturur ve otomatik olarak o dala geçiş yapar.
Mevcut Branch’leri Listeleme
git branch
Bu komut, mevcut branch’leri listeler ve aktif olanı vurgular.
Değişiklikleri Uzaktaki Depoya Gönderme
Değişiklikleri uzaktaki Git sunucusuna göndermek için:
git push origin branchAdi
Örneğin, main
dalına push yapmak için:
git push origin main
Branch’leri Birleştirme (Merge)
Mevcut branch ile başka bir branch’i birleştirmek için:
git merge digerBranch
Çakışma olması durumunda, Git bunu bildirir. Çakışmaları manuel olarak çözüp aşağıdaki işlemi yapmalısınız:
git add <dosya_adı>
git commit -m "Çakışmalar çözüldü"
Commit İşlemlerini Yönetme
Son Commit’i Geri Alma
git revert <commit_hash>
Bu komut, eski bir commit’e geri dönerek yeni bir commit oluşturur.
Son Commit’i Tamamen Silmek
git reset --hard <commit_hash>
Bu komut, belirtilen commit’e geri dönerek sonraki değişiklikleri tamamen siler.
Commit’e Etiket (Tag) Eklemek
Commit’lere belirli sürümleri veya önemli noktaları etiketlemek için:
git tag <etiket_adı>
git push origin <etiket_adı>
Örneğin:
git tag v1.0.0
git push origin v1.0.0
Commit Geçmişini Görmek
Tüm commit geçmişini görmek için:
git log
Belirli sayıda commit’i görmek için:
git log -n <sayı>
Belirli bir commit’e geçiş yapmak için:
git checkout <commit_hash>
Uzak Depoları Yönetmek
Mevcut uzak depoları listelemek için:
git remote -v
Yeni bir uzak repo eklemek için:
git remote add origin <repo_url>
Bir uzak repoyu kaldırmak için:
git remote remove origin
Dosya ve Değişiklik Yönetimi
Değişiklikleri Görüntüleme
git diff
İki commit arasındaki farkı görmek için:
git diff <commit1> <commit2>
Geçmişi Geri Alma ve Reflog ile Geri Dönmek
Önceki bir commit’e tamamen geri dönmek için:
git reset --hard <commit_hash>
Reflog ile önceki adımlara geri dönmek için:
git reflog
git checkout <commit_hash>
Commit İçeriğini Görüntüleme ve Gereksiz Dosyaları Temizleme
Belirli bir commit’in içeriğini görmek için:
git show <commit_hash>
Çalışma dizinindeki izlenmeyen dosyaları temizlemek için:
git clean -f
Önizleme yapmak için:
git clean -n
Git Log Filtreleme ve Formatlama
Grafiksel bir commit geçmişi görüntülemek için:
git log --oneline --graph --decorate --all
Belirli bir dosyanın geçmişini görmek için:
git log <dosya_adı>
Son N commit’i görmek için:
git log -n <sayı>
Sonuç
Bu rehberde Git’in temel ve ileri seviye komutlarını detaylı bir şekilde açıkladık. Git, özellikle ekip çalışmaları ve sürüm kontrolü açısından büyük avantajlar sunar. Daha derinlemesine kullanım için Git’in resmi belgelerine göz atabilirsiniz.