Git ile Çalışırken Merge Konflikti Nedir?
Konflikt, Git'in hangi değişikliğin geçerli olması gerektiğini anlamaması nedeniyle meydana gelir. Git, her iki değişikliği de koruyarak size bir hata mesajı gösterir ve çözüm için müdahale etmenizi ister. Bu noktada, "Unable to Merge Due to Conflicts" hatası devreye girer.
Konflikt Hatası Nasıl Çözülür?
İlk yapmanız gereken şey, Git’in verdiği hata mesajını dikkatlice okumaktır. Genellikle, hangi dosyalarda çatışma olduğunu ve hangi satırlarda değişiklik yapıldığını belirten bilgiler içerir. Hata mesajı şuna benzeyebilir:
```bash
CONFLICT (content): Merge conflict in
Automatic merge failed; fix conflicts and then commit the result.
```
Bu mesaj, size çatışmanın yaşandığı dosyayı ve çözmeniz gereken değişiklikleri gösterir.
# Adım 2: Çatışmaları Görüntüleyin
Çatışmalar, Git'in bu dosyada çözüm önerisi sunduğu bölümlerde işaretlenmiş olacaktır. Git, çakışan kodları `<<<<<<< HEAD`, `=======` ve `>>>>>>> branch_name` gibi işaretlerle ayırır. Bu işaretler, çatışma bulunan bölümleri anlamanızı sağlar.
```plaintext
<<<<<<< HEAD
print("Merhaba Dünya")
=======
print("Selam Dünya")
>>>>>>> feature-branch
```
Bu örnekte, `HEAD` kısmı sizin mevcut çalışma branşınızda yapılan değişikliği, `feature-branch` kısmı ise karşı tarafın yaptığı değişikliği gösterir. Burada karar vermeniz gerekecek: Hangi satırın projeye dahil edileceğine.
# Adım 3: Konfliktleri Çözün
Şimdi, çatışmaları çözme aşamasına geldik. İki seçeneğiniz vardır:
- Her iki değişikliği birleştirmek: Eğer her iki değişikliği de kullanmak istiyorsanız, kodu manuel olarak birleştirmeniz gerekecek.
Örneğin, her iki satırı birleştirip şunları yapabilirsiniz:
```python
print("Merhaba ve Selam Dünya")
```
# Adım 4: Değişiklikleri Kaydedin ve Commit Yapın
Çatışmalar çözüldükten sonra, dosyayı kaydedin ve Git'e değişikliklerinizi bildirmeniz gerekir. Bunun için şu komutları kullanabilirsiniz:
git add
git commit -m "Merge conflict resolved"
```
Bu komutlar, çatışmaları çözmek için yaptığınız değişiklikleri Git'e kaydeder.
# Adım 5: Merge İşlemini Tamamlayın
Son olarak, çatışmaları çözüp commit işlemini yaptıktan sonra, merge işleminin tamamlandığını bildirebilirsiniz. Eğer hala başka bir değişiklik yapılmadıysa, bu işlem başarılı olacaktır.
git merge
```
Çatışma Çözme İçin İpuçları
- Sürekli Pull Yapın: Çalışma sürecinizde sürekli olarak `git pull` komutunu kullanarak, başkalarının yaptığı değişikliklerden haberdar olun.
- Araçlar Kullanın: Git’in sağladığı araçlarla çatışmaları daha kolay çözebilirsiniz. Visual Studio Code, GitKraken gibi araçlar, görsel olarak çatışmaları çözmekte yardımcı olabilir.