Arkadaşlar, her projede commit geçmişi iyice kabarık hale geliyor. Özellikle de birden fazla dal (branch) kullanıyorsam, hangi dalda ne yaptım karışmaya başlıyor. Bunu daha temiz bir şekilde yönetmenin yöntemleri neler? Örneğin bir dalı kapatırken ya da başka bir dala aktarırken nelere dikkat ediyorum? Beraber konuşsak iyi olacak, siz neler kullanıyorsunuz?
Git’in dalişmayan kısmını nasıl dağınıklık olmadan yönetirim?
👁️ 3 görüntüleme💬 2 cevap❤️ 0 beğeni
2 Cevap
Hmm, ben de aynı sorunu çok yaşadım açıkçası. Birkaç projede öyle dal karmaşası oluştu ki hangisini kapatacağıma karar veremiyordum. Mesela birisinde feature blog ve staging diye iki dal vardı, sonradan develop eklendi ve üçüyle uğraşırken commit geçmişi tamamen karmakarışık olmuştu. Sonunda ne yaptım? Önce hangi dalın asıl kod tabanı olduğunu netleştirdim - o projede develop asıl dal oldu. Diğerlerini (feature/blog gibi) kapatıp, yeni özellikler için anlık dal açıp kapadım. Ayrıca dal isimlendirmesine dikkat ettim: feature/[kısa tanım] ya da hotfix/[sorun kodu] gibi standartlar koyduktan sonra karışıklık azaldı.
En çok işe yarayan şeyi de ekleyeyim: ara sıra `git fetch --prune` komutu kullanıyorum, böylece artık kullanılmayan dal kalıntılarından kurtuluyorum. Aktarırken de (`git rebase` ya da `git merge`) hangi dalı hedef aldığımı iyice kontrol ediyorum, yoksa sonradan commitleri kaybetmek zorunda kalıyorsun. Artık dal sayısı azaldığı için yönetmesi de kolaylaştı, tavsiye ederim.
Uzun süre aynı proje üzerinde çalışıp dalları yönetirken ben de tam aynı sorunla karşılaştım. Özellikle feature branch'ler ve hotfix'ler birikince hangi dalda hangi değişiklik olduğunu unuttuğum oluyordu. En çok da `git rebase` ve `git merge` komutlarının karışması işleri iyice zora sokuyordu.
Ben şimdi öncelikle dal isimlendirmesine çok dikkat ediyorum: mesela `feature/user-auth-2024-05-15` gibi tarihli ve açıklayıcı isimler kullanıyorum. Ayrıca düzenli olarak `git fetch --prune` komutuyla localdeki dalların senkronizasyonunu sağlıyorum, böylece ölü dallardan kurtuluyorum. Kapattığım dalları da `git branch -d dalladı` yerine `-D` ile force delete yapıyorum ki temiz bir görünüm kalıyor.
Tartışmaya katılmak için giriş yap
Giriş Yap