Merge Çatışmaları
Coddy'nin Terminal Journey'sinin Versiyon Kontrolü bölümünün bir parçası — ders 37 / 58.
Eğer her iki dal da aynı dosyanın aynı satırlarını değiştirdiyse, Git hangi sürümün tutulacağını tahmin edemez. Birleştirmeyi duraklatır ve karar vermenizi ister.
Çakışan dosya, her iki sürümü de gösteren özel işaretler alır:
<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> featureGöreviniz dosyayı elle düzenlemektir: bir sürümü seçin, onları birleştirin veya yeni bir şeyler yazın. Ardından tüm çakışma işaretlerini (<<<, ===, >>> satırlarını) kaldırın.
Dosya doğru göründüğünde, dosyayı hazırlama alanına ekleyin ve başka bir commit ile birleştirmeyi tamamlayın:
git add notes.txt
git commit -m "Resolve merge conflict in notes"İşlemin ortasında fikrinizi değiştirirseniz, her şeyi iptal edebilir ve birleşme öncesi duruma geri dönebilirsiniz:
git merge --abortGörev
OrtaKlasör, hello satırını içeren notes.txt dosyasını barındırıyor.
Depoyu başlatın ve ilk dosyayı commit edin. alt adında yeni bir dala geçin, notes.txt dosyasını hi from alt yazacak şekilde değiştirin ve commit edin.
main dalına geri dönün, notes.txt dosyasını hi from main yazacak şekilde değiştirin ve commit edin.
alt dalını main dalı ile birleştirmeyi (merge) deneyin. Birleştirme işlemi çakışacaktır. git merge --abort ile işlemi iptal edin, ardından dosyanın main sürümüne geri döndüğünü doğrulamak için cat ile notes.txt içeriğini yazdırın.
Kopya kağıdı
Her iki dal da aynı satırları düzenlediğinde, Git birleştirmeyi duraklatır ve dosyaya çakışma işaretçileri ekler:
<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> featureDosyayı istediğiniz sonuca göre düzenleyin, tüm işaretçileri kaldırın, ardından stage ve commit işlemlerini yapın:
git add notes.txt
git commit -m "Resolve merge conflict in notes"Birleştirmeyi iptal etmek ve birleştirme öncesi duruma geri dönmek için:
git merge --abortKendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Versiyon Kontrolü bölümündeki tüm dersler
4Değişiklikleri İnceleme
Git DiffHazırlanan Değişiklikleri KarşılaştırmaGit ShowÖzet - Dedektiflik Çalışması5Dosyaları Yoksayma
Dosyaları Neden YoksayarızGitignore DesenleriYoksayma Kurallarını Kontrol EtmeÖzet - Temiz Repo8Birleştirme
Merge Nedir?Fast-Forward MergeÜç Yönlü BirleştirmeMerge ÇatışmalarıÇatışma ÇözmeÖzet - Merge Ustası3Değişiklikleri İzleme
Hazırlık AlanıGit AddGit Commitİzlenen Bir Dosyayı DeğiştirmeGit LogÖzet - İlk Commit'ler6Yemek Tarifi Sitesi Projesi
Projeye Genel BakışBaşlatma ve Yoksayma