Git'te İleri Teknikler: Python Geliştiriciler İçin Pratik İpuçları
Git'i günlük kullanımın ötesine taşımak istiyorsan, ileri komutları bilmek geçmiş yönetimini çok daha verimli hale getiriyor. Özellikle Python projelerinde karmaşık branch yapıları ve uzun commit geçmişleriyle çalışırken bu beceriler seni kurtarıyor.
Revizyon seçimi (revision selection) Git'in temel güçlerinden biri. `HEAD~3` ile üç commit öncesine, `main..feature` ile iki branch arasındaki farkı görebilirsin. Eğer belirli bir commit aralığını incelemek istiyorsan `git log main...develop` komutu iki branch arasındaki tüm commit'leri gösterir. Bu, hangi değişikliklerin henüz merge edilmediğini hızlıca anlamana yardımcı olur.
Stash işlemleri tamamlanmamış değişiklikleri geçici olarak saklamak için kullanılır. Acilen başka bir branch'e geçmen gerekiyorsa `git stash` komutu mevcut çalışmayı kaydeder, ardından `git stash pop` ile geri getirebilirsin. Birden fazla stash varsa `git stash list` ile hepsini görebilir, belirli birini `git stash apply stash@{n}` ile uygulayabilirsin.
Commit'leri karşılaştırmak sürüm kontrol sürecinin kalbi. `git diff commit1 commit2` iki commit arasındaki satır satır değişiklikleri gösterir. Sadece dosya adlarını görmek istiyorsan `--name-only` flag'ini ekle. Eğer belirli bir dosyanın geçmişini incelemek istiyorsan `git log -p dosya_adi` tüm değişiklikleri kronolojik sırayla sunar.
Geçmiş düzenleme (history rewriting) dikkatli yapılmalı, özellikle paylaşılan branch'lerde. `git commit --amend` son commit'i değiştirirken, `git rebase -i HEAD~5` son beş commit'i interaktif olarak düzenlemene izin verir. Commit mesajlarını değiştirebilir, birleştirebilir veya sırasını değiştirebilirsin. Ancak bu işlemler yalnızca henüz push edilmemiş, yerel commit'lerde güvenlidir.
Bu teknikler öğrenmek ilk başta kafa karıştırıcı olabilir, ama pratik yaptıkça Git'in ne kadar güçlü bir araç olduğunu anlayacaksın. Yerel branch'inde deneyerek başla, sonra gerçek projelerde kullan.
0 yorum