Git Olmadan Yazılım Geliştirmek Mümkün mü?
Teorik olarak evet, pratikte ise hayır. Git, modern yazılım geliştirmenin temel taşıdır. Tek başınıza çalışsanız bile kodunuzun geçmişini takip etmek, hatalardan geri dönmek ve farklı fikirler denemek için Git'e ihtiyaç duyarsınız. Ekipte çalışıyorsanız, Git olmadan düzeni sağlamak neredeyse imkânsızdır.
En Sık Kullanılan Git Komutları
# Başlangıç
git init # Yeni repo başlat
git clone [url] # Uzak repoyu klonla
# Değişiklik Yönetimi
git status # Değişiklikleri listele
git add . # Tüm değişiklikleri sahneye al
git add src/components/Button.tsx # Tek dosya ekle
git commit -m "feat: buton bileşeni eklendi"
# Dal (Branch) Yönetimi
git branch # Tüm dalları listele
git branch feature/yeni-ozellik # Yeni dal oluştur
git checkout feature/yeni-ozellik # Dala geç
git checkout -b feature/login # Oluştur ve geç (kısayol)
git merge feature/login # Dalı birleştir
git branch -d feature/login # Dalı sil
# Uzak Repo
git remote add origin [url] # Uzak repo bağla
git push origin main # Gönder
git pull origin main # Çek ve birleştir
git fetch origin # Uzaktan getir ama birleştirme
Profesyonel Commit Mesajı Yazımı
Anlamlı commit mesajları yazmak, hem ekip çalışmasında hem de hata ayıklamada büyük fark yaratır. Conventional Commits standardını kullanın:
# Yapı: <type>(<scope>): <kısa açıklama>
feat(auth): kullanıcı giriş sayfası eklendi
fix(api): token yenileme hatası giderildi
docs(readme): kurulum adımları güncellendi
style(button): renk tutarsızlıkları düzeltildi
refactor(utils): formatTarih fonksiyonu sadeleştirildi
test(auth): giriş testi eklendi
chore(deps): paketler güncellendi
# ❌ Kötü commit mesajları:
git commit -m "düzeltme"
git commit -m "asdfgh"
git commit -m "bitti"
GitHub Flow: Ekip için Dal Stratejisi
- main dalı her zaman deploy edilebilir durumda olmalı.
- Yeni özellik veya hata düzeltmesi için
feature/veyafix/prefix'li yeni dal aç. - Küçük commit'lerle değişikliklerini kaydet.
- GitHub'a push'la ve bir Pull Request (PR) aç.
- Takım arkadaşın kodu incelesin (Code Review).
- Onaylandıktan sonra main'e merge et ve dalı sil.
Hayat Kurtaran Git Komutları
# Son commit'i geri al (dosyaları koru)
git reset --soft HEAD~1
# Yanlış bir dosyayı staged'den çıkar
git restore --staged src/yanlis-dosya.ts
# Kaydedilmemiş değişikliklerden vazgeç
git checkout -- src/degistirilen-dosya.ts
# Belirli bir commit'e git (geçici olarak)
git checkout abc1234
# Commit geçmişini görsel olarak incele
git log --oneline --graph --all
# Hangi commit hangi satırı değiştirdi?
git blame src/components/Navbar.tsx
Commit'lerinizi küçük ve anlamlı tutun. "Her şeyi değiştirdim" diye tek bir büyük commit atmak yerine, her mantıksal değişikliği ayrı commit olarak kaydedin. Geçmiş ne kadar okunabilir olursa, hata ayıklamak o kadar kolay olur.
