Çatışma Çözme
Coddy'nin Terminal Journey'sinin Versiyon Kontrolü bölümünün bir parçası — ders 38 / 58.
İptal etmek bazen doğru hamledir, ancak çoğu zaman çatışmayı gerçekten çözmek ve birleştirmeyi bitirmek istersiniz.
Bir çatışmayı çözmek üç adımlı bir ritüeldir:
- Çakışan dosyayı açın. İşaretçi bloğunu istediğiniz sürümle (veya bir kombinasyonla) değiştirin.
- Çözümlenen dosyayı
git addile hazırlama alanına ekleyin. - Birleştirmeyi
git commitile tamamlayın.
Dosyayı doğrudan çözümlenmiş içerikle üzerine yazmak için bir betik kullanabilirsiniz; bu derste tam olarak bunu yapacaksınız (editöre gerek yok).
Çözümlenmiş dosyayı git add yapmayı unutursanız, commit işlemi başarısız olur ve size dosyanın hala birleştirilmemiş olarak işaretlendiğini bildirir.
Görev
Ortanotes.txt üzerinde tam olarak önceki dersteki gibi bir çakışma (conflict) oluşturun:
maindalındahelloiçeriğiyle ilk commit'i yapınaltdalında: içeriğihi from altolarak değiştirin ve commit yapın- Tekrar
maindalına dönün: içeriğihi from mainolarak değiştirin ve commit yapın git merge altkomutunu çalıştırın (çakışma oluşacaktır)
Çakışmayı, notes.txt dosyasının üzerine hi from both satırını yazarak çözün. Dosyayı stage alanına ekleyin ve birleşmeyi Resolve notes mesajıyla tamamlayın. notes.txt dosyasının son içeriğini yazdırın.
Kopya kağıdı
Bir birleştirme çakışmasını (merge conflict) çözmek için:
- Çakışan dosyayı düzenleyin — çakışma işaretlerini kaldırın ve istenen içeriği tutun.
- Çözülen dosyayı hazırlama alanına (stage) ekleyin:
git add <file> - Birleştirmeyi tamamlayın:
git commit
git add notes.txt
git commit -m "Resolve conflict"Eğer git add adımını atlarsanız, dosya hala birleştirilmemiş olarak işaretlendiği için commit işlemi başarısız olur.
Kendin 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