İki branch'te de aynı dosyayı değiştirmiş olsaydık ne olurdu? Bir branch'te değişiklik yaparken, takım arkadaşınız farklı bir branch'te aynı dosyalarda değişiklik yapabiliyor. İşte bu durumlarda çakışma (conflicts) ortaya çıkıyor.
Örnek olarak buyuk-harf branch'inde lib.php dosyası boş olarak mevcut olsun. Bu dosyaya (branch geçişi yapıp)
yazılsın ve commit edilsin. Sonrasında trim branch'inde lib.php dosyasını (trim branch'ine geçiş yapılsın)
olarak güncelleyelim ve değişiklikleri commit edelim. Görüldüğü üzere iki farklı branch'de aynı dosya (lib.php) üzerinde aynı satırı değiştirmiş olduk. Bu iki branch'i de master branch'ine aktarmaya (merge) çalışalım. master branch'ine geçiş yapılıp (git checkout master)
komutu kullanılsın. Sonrasında da buyuk-harf branch'ini merge edelim.
İşte tam bu noktada çakışma hatası alınmış olacak ve otomatik birleştirme (automatic merge) edilemeyecek. lib.php dosyası incelenecek olduğunda <<<<<<< HEAD kod bloğu ======= kod bloğu >>>>>>> içeriği görüntülenecek.
Bu noktada manuel bir birleştirme yapmamız gerekiyor. Kodları inceleyip, işaretleri (<, =, >) silip dosyamızı istediğimiz hale getirdikten sonra çakışma (conflicts) çözülmüş olacak. Tabii sonrasında
komutlarını kullanmayı unutmuyoruz.
Devops
Ubuntu Klavye Kısayolları
Windows Klavye Kısayolları