Etkili Git Kullanımı

Git, modern yazılım geliştirme süreçlerinin vazgeçilmez bir parçasıdır diyebiliriz. Kullandığımız IDE’lerin çoğunda artık git eklentisi bulunsada kullanımı hepsinde kolay ve anlaşılır olmayabiliyor. Bunun gibi durumlarda terminal üzerinden de kullanımı bilmek işlerimizi kolaylaştıracaktır. Bu yazıda, Git’i daha etkili kullanmanıza yardımcı olacak pratik bilgiler ve örnekler paylaşacağım.

1. Temel Git Komutları

Başlangıç seviyesindekiler için bazı temel komutlar:

git init          # Yeni bir Git deposu oluşturur  
git clone <url> # Mevcut bir depoyu klonlar
git add . # Tüm değişiklikleri sahneye ekler
git commit -m "Değişiklik mesajı" # Değişiklikleri kaydeder
git push origin main # Değişiklikleri uzak depoya gönderir
git pull origin main # Güncellemeleri uzak depodan çeker

2. Git Remote Kullanımı

Uzak depoları yönetmek için git remote komutunu kullanabilirsiniz:

git remote -v  # Tanımlı uzak depoları listele  
git remote add origin <url> # Yeni bir uzak depo ekle
git remote remove origin # Uzak depoyu kaldır
git remote set-url origin <yeni-url> # Uzak deponun adresini değiştir

Birden fazla uzak depo eklemek istiyorsanız, origin yerine farklı bir isim kullanabilirsiniz.

3. Git Log ile Değişiklik Geçmişini Görüntüleme

git log komutu, proje geçmişini incelemek için kullanılır:

git log  # Tüm commit geçmişini listele  
git log --oneline # Kısa ve özet geçmiş göster
git log --graph --decorate --all --oneline # Görsel olarak daha düzenli bir log

Belirli bir dosyanın geçmişini görmek için:

git log -- filename.txt  

Eğer sadece belirli bir kişi tarafından yapılan commit’leri görmek isterseniz:

git log --author="İsim"  

4. Git Status ile Çalışma Alanını Kontrol Etme

git status komutu, çalışma alanınızdaki değişiklikleri kontrol etmenizi sağlar:

git status  # Mevcut durum ve değişiklikleri göster  

Örnek çıktı:

On branch feature-x
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: app.py
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt

Bu komut, hangi dosyaların değiştirildiğini, hangilerinin eklendiğini ve hangilerinin izlenmediğini gösterir.

5. Branch (Dal) Kullanımı

Farklı özellikler veya hata düzeltmeleri için dallar oluşturmak önemlidir.

git branch feature-x  # Yeni bir dal oluştur  
git checkout feature-x # Dalı değiştir
git switch feature-x # Yeni Git sürümlerinde checkout yerine switch kullanılabilir

Birleştirme işlemi şu şekilde yapılır:

git checkout main  # Ana dala geç  
git merge feature-x # Dalı ana dala birleştir
git branch -d feature-x # Dalı sil

6. Commit Mesajları ve İyi Pratikler

Daha düzenli bir commit geçmişi için:
feat: Yeni özellik eklendi
fix: Hata düzeltildi
refactor: Kod iyileştirildi

Kötü örnek:
update
fix some bugs

7. Değişiklikleri Geri Alma

Yanlış bir commit mi yaptınız? Endişelenmeyin!

git reset --soft HEAD~1  # Son commit’i geri al, değişiklikleri koru  
git reset --hard HEAD~1 # Son commit’i tamamen sil
git revert <commit-id> # Belirtilen commit’i geri al

8. Rebase ile Temiz Bir Git Geçmişi

Commit geçmişinizi daha düzenli tutmak için rebase kullanabilirsiniz:

git rebase main  # Ana dalın değişikliklerini mevcut dala uygula  

Rebase kullanırken dikkatli olun, çünkü uzak depoda paylaşılmış commit’leri değiştirmek sorun yaratabilir.

9. Stash ile Geçici Kaydetme

Çalışmanızı kaydetmeden dal değiştirmek isterseniz:

git stash  # Geçici olarak değişiklikleri sakla  
git stash pop # Saklanan değişiklikleri geri yükle

Sonuç

Git’i etkili kullanmak, hem takım çalışmasını kolaylaştırır hem de proje yönetimini iyileştirir. Temel komutları bilmek yeterli değildir; aynı zamanda iyi pratikleri de uygulamak gerekir.



Leave a comment