Sobes.tech
Junior

Git'te çatışmaları nasıl çözüyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Pull veya rebase işlemi sırasında değişiklikler birleştirilir. Git, dosyalardaki çatışan satırları otomatik olarak çözemezse, bunları özel işaretçilerle işaretler:

<<<<<<< HEAD
mevcut dalın satırı
=======
birleştirilen dalın satırı
>>>>>>> feature/yeni-özellik

Çatışmayı çözmek için:

  1. Çatışmalı dosyayı bir editörde açın.

  2. Her iki sürümden gerekli kısımları seçerek veya yeni bir kombinasyon oluşturarak dosyayı manuel olarak düzenleyin.

  3. <<<<<<<, =======, >>>>>>> işaretçilerini kaldırın.

  4. Dosyayı kaydedin.

  5. Çözülmüş dosyayı git add komutuyla indekse ekleyin:

    # Belirli bir dosyayı ekle
    git add yol/dosya/çözülmüş.txt
    
    # Tüm çözülen dosyaları ekle
    git add .
    
  6. Birleştirmeyi tamamlamak için commit yapın:

    # Birleştirme sırasında
    git commit -m "Birleştirme çatışması çözüldü"
    
    # Rebase sırasında
    git rebase --continue
    

Çok sayıda çatışma varsa veya karmaşıksa, birleştirme araçları kullanabilirsiniz:

git mergetool

Bu, çatışmaları adım adım geçmenize yardımcı olan grafiksel bir araç açar.

rebase sırasında zorluk yaşarsanız, şu komutları kullanabilirsiniz:

  • git rebase --abort: Rebase'i iptal eder ve başlangıç durumuna geri döner.
  • git rebase --skip: Mevcut çatışmalı commit'i atlar (tehlikeli olabilir).

Çatışmaları çözdükten sonra değişiklikleri test etmek, kodun düzgün çalıştığından emin olmak önemlidir.