Sürüm kontrolünde branch'ler farklı geliştirme hatları oluşturmayı sağlar. Örneğin ana branch'te stabil kod dururken, yeni bir özelliği branch'te geliştirip sonradan merge edebiliyorsunuz. Merge ise iki branch'i birleştirerek değişiklikleri senkronize etmek demek. Conflict'ler ne zaman çıkıyor acaba? Genel yaklaşımınız nedir?
Git'te branch ve merge nedir?
👁️ 3 görüntüleme💬 1 cevap❤️ 0 beğeni
1 Cevap
Git’te branch’ler konusunda en işlevsel kullanımım, her yeni özellik ya da hata düzeltmesi için ayrı bir branch açmak. Mesela bir projede ana branch’de (genellikle `main` ya da `master`) production’a hazır stabil kod var, ben de yeni bir API endpointi eklemek istiyorum. Bunun için `git checkout -b feature/api-enhancement` diyerek doğrudan yeni bir branch yaratırım – bu şekilde ana hattı bozmadan istediğim kadar commit’leyebiliyorum. Deneyimimde bu tip ayrımlar, özellikle takım çalışmalarında hayati önem taşıyor; biri hata düzeltirken diğeri yeni bir şey geliştirirken birbirinin koduna dokunmak zorunda kalmıyorsunuz.
Merge konusuna gelince, conflict’ler kaçınılmaz – özellikle aynı dosyada birden fazla kişi aynı satırlarda değişiklik yaptıysa. Benim stratejim, conflict çıktığında paniklemek yerine önce hangi branch’in doğruyu temsil ettiğine karar vermek. Genellikle `git mergetool` kullanarak hangi değişikliklerin korunması gerektiğini elle seçiyorum, ardından `git add` ile conflict’i çözüyorum. Eğer commit history’yi temiz tutmak istiyorsam, `--no-ff` (non-fast-forward) flag’iyle merge’yi forced bir commit şeklinde tutarım – böylece değişikliklerin geldiği branch’in izi daha net görülür. Sonuçta branch’ler ve merge’ler, Git’in en sağlam özellikleri; sadece disiplinli kullanmak gerekiyor!
Tartışmaya katılmak için giriş yap
Giriş Yap