Git ile çalışma desenleri nelerdiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
-
Git-flow: Netlikli bir sürüm döngüsü olan projelerde kullanılır. Fonksiyonel sabitleme, hata düzeltmeleri ve sürüm hazırlıkları yönetmek için uygundur.
feature,develop,release,hotfix,masterdallarını oluşturur. -
GitHub flow: Sık ve küçük sürümlere öncelik verilen projelerde kullanılır. Basit bir model, ana dal (
mainveyamaster) ve her özellik veya düzeltme için dallar üzerine kurulu olup, incelemeden sonra doğrudan ana dala birleştirilir. -
Trunk tabanlı geliştirme: Yüksek entegrasyon ve sürekli dağıtım gerektiren projelerde uygulanır. Geliştiriciler doğrudan ana dal (
trunk) veya kısa ömürlü dallarda değişiklik yapar, hızla geri birleştirilir. Anahtar unsur — Feature Toggles.
Bu temel desenlerin yanı sıra, kullanıldı:
-
Rebase vs Merge: Duruma ve ekip anlaşmalarına bağlı olarak,
git rebaseyerel dallarda temiz bir geçmiş tutmak için kullanılırken,git merge --no-ffana dalda açık bir birleşme geçmişi sağlar.# Rebase örneği git checkout feature/yeni-özellik git pull --rebase origin main # Çatışmaları çözme git push -f origin feature/yeni-özellik # Veya ana dala merge isteği# Merge --no-ff örneği git checkout main git merge --no-ff feature/yeni-özellik -m "Yeni özellik ana dala birleştirildi" git push origin main -
Squash and Merge: Özellikle özellik dallarını ana dala birleştirirken kullanılır. Birden fazla commit tek bir temiz commit haline getirilir.
# Git platformu üzerinden squash merge örneği (GitHub, GitLab) # Genellikle Pull Request onayında yapılır. -
Cherry-picking: Belirli commitleri dallar arasında taşımak için kullanılır, örneğin, ana daldaki düzeltmeleri sürüm veya staging dalına geri almak.
# Cherry-pick örneği git checkout release/v1.2 git cherry-pick <commit_hash>