Git Merge Çakışması Nedir?
Çakışmalar genellikle geliştirme sürecinde farklı kişilerin aynı dosya üzerinde çalışırken yaptıkları değişikliklerden kaynaklanır. Git, bu çakışmaları fark eder ve kullanıcıdan hangi değişikliğin kabul edileceğine dair bir karar vermesini ister.
Git Merge Çakışması Hatası ile Karşılaşınca Ne Yapmalıyız?
Git merge çakışmasını tespit etmek oldukça basittir. Birleştirme işlemi sırasında eğer çakışma varsa, şu mesajı görürsünüz:
Auto-merging
CONFLICT (content): Merge conflict in
Bu mesaj, hangi dosyanın çakışmaya neden olduğunu gösterir. Git, çakışan satırları belirleyerek dosyayı güncelleyecek ancak size bir seçim yapma şansı verir. Şimdi, çözüm aşamasına geçebiliriz.
2. Çakışmayı Çözme
Git merge çakışmasını çözmek için şu adımları takip edebilirsiniz:
- Dosyayı Açın: Çakışma mesajını gördüğünüz dosyayı bir metin editöründe açın. Çakışmalar, dosyanın içinde şu şekilde gösterilecektir:
<<<<<<< HEAD
# Bu kısım sizin yaptığınız değişiklikleri gösterir
=======
# Bu kısım başka bir dalda yapılan değişiklikleri gösterir
>>>>>>> branch-name
Yukarıdaki gibi, Git hangi değişikliklerin sizin, hangi değişikliklerin diğer dalda yapıldığını belirtir. Bu iki kısmı dikkatlice inceleyip hangisinin doğru olduğuna karar vermelisiniz.
- Çakışmayı Çözün: Çakışmayı çözmek için, iki değişiklikten hangisini koruyacağınızı seçmelisiniz. Gerekirse, her iki değişikliği de birleştirebilir ve yeni bir çözüm oluşturabilirsiniz.
- Çakışma İzinlerini Kaldırın: Çakışma çözüldükten sonra, dosyadaki `<<<<<<<`, `=======`, ve `>>>>>>>` işaretlerini kaldırmalısınız.
3. Değişikliklerinizi Kaydedin
Çakışmayı çözdükten sonra, dosyayı kaydedin ve Git’e çakışmanın çözüldüğünü bildirmeniz gerekir. Bunun için şu komutu kullanabilirsiniz:
git add
Bu komut, çözümlediğiniz dosyayı Git’e ekler. Ardından, aşağıdaki komutla birleştirme işlemini tamamlayabilirsiniz:
git merge --continue
Eğer başka çakışmalar varsa, Git bir sonraki çakışmayı size gösterecektir.
4. Merge'i Tamamlama
Çakışmalar tamamen çözüldü ve tüm dosyalar hazır olduğunda, aşağıdaki komutla commit işlemini tamamlayabilirsiniz:
git commit
Artık merge işlemi başarıyla tamamlandı!
Windows Kullanıcıları İçin Ekstra İpuçları
- Git Bash Kullanmak: Git komutlarını yazarken, Git Bash kullanmak her zaman daha kolaydır. Git Bash, Windows üzerinde terminal komutlarını çalıştırmanın en pratik yoludur.
- Çakışmaları Grafiksel Araçlarla Çözmek: Eğer Git komutları ile uğraşmak zor geliyorsa, grafiksel Git araçları kullanabilirsiniz. Örneğin, Sourcetree veya GitKraken, çakışmaların görsel olarak daha rahat çözülmesini sağlar.
- Çakışma Çözme Öncesi Yedek Almak: Çakışmaları çözmeden önce her zaman bir yedek almak iyi bir fikirdir. Bu sayede yanlış bir şeyler yaptığınızda eski haline dönebilirsiniz.
Sonuç
Unutmayın, her yazılım geliştirme sürecinde karşılaşılan zorluklar, sizi daha deneyimli bir geliştirici yapar. Bu tür hatalarla karşılaştığınızda sakin olun, adımları takip edin ve çözüme ulaşın. Başarılar!