Visual Studio birleştirme çakışmalarını çözün

Bir dalı diğeriyle birleştirdiğinizde, bir daldaki işlemelerin dosya değişiklikleri diğer değişikliklerle çakışabilir. Git, birleştirilmiş dosyaların ne gibi görünmesi gerektiğini belirlemek üzere deponuzdaki geçmişi kullanarak bu değişiklikleri çözümlemeye çalışır. Değişiklikleri birleştirme hakkında net olmadığında, git 'in birleştirme işlemini durdurur ve hangi dosyaların çakıştığını söyler.

Birleştirme çakışmalarını anlama

Aşağıdaki görüntüde değişikliklerin git 'te nasıl çakıştığını gösteren çok basit bir örnek gösterilmektedir. Hem Main hem de bugdüzeltmesini dalı, kaynak kodu için aynı satırlara güncelleştirmeler yapar.

Birleştirme çakışmasını gösteren diyagram.

Bugdüzeltmesini ana olarak birleştirmeye çalışırsanız, git birleştirilmiş sürümde hangi değişikliklerin kullanılacağını belirleyemez. Değişiklikleri ana dalda, bugdüzeltmesini dalında veya ikisinin bir birleşimi içinde tutmak isteyebilirsiniz. Bu çakışmayı, iki dal arasındaki çakışan değişiklikleri karşılayan ana dalda bir birleştirme işlemesiyle çözün.

Birleştirme işlemenin birleştirme çakışmasını nasıl çözdüğünü gösteren diyagram.

En yaygın birleştirme çakışması durumu, bir uzak daldan yerel dalınıza (örneğin, kaynak/bugdüzeltmesini yerel bugdüzeltmesini dalınıza) kadar güncelleştirmeleri çektiğinizde olur. Bu çakışmaları aynı şekilde çözümleyin-yerel dalınızda değişiklikleri mutabık kılma ve birleştirme işlemini tamamlamaya yönelik bir birleştirme yürütmesi oluşturun.

Birleştirme Çakışmalarını Önle

Dosya içerikleri işlemeler arasında önemli ölçüde değişmiyorsa, git pek çok durumda otomatik olarak dosya değişiklikleri birleştirme konusunda oldukça iyidir. Dalınızın ana dalınızın ötesinde bir çekme isteği açmadan önce dalları yeniden temellendirin. Yeniden temel dallar, çakışma olmadan ana dalınızla birleşir.

Birleştirme çakışmalarını çözümleme

  • Aynı dalda başkalarıyla işbirliği yapıyorsanız, değişikliklerinizi gönderdiğinizde birleştirme çakışmalarını da alabilirsiniz.

    Bir gönderden sonra birleştirme çakışması ekran görüntüsü.

  • değişikliklerinizi gönderdiğinizde Visual Studio, üzerinde çalıştığınız yerel dalın kendi uzak izleme dalının gerisinde olup olmadığını algılar ve ardından, aralarından seçim yapabileceğiniz çeşitli seçenekler sunar.

    Yerel dal uzak dalın arkasında olduğunda kullanılabilen seçeneklerin ekran görüntüsü.

    Not

    uzak deponuz bunu, Git > Ayarlar aracılığıyla etkinleştirerek destekliyorsa, gönderimi zorla ' yı etkinleştirebilirsiniz.

  • Bu, uzak depoya getirilen değişiklikleri dahil etmek için göndermeyi ve göndermeyi seçelim. değişiklikleri çekilirken veya iki dalı birleştirmeye çalışırken herhangi bir birleştirme çakışması varsa, Visual Studio git değişiklikleri penceresinde, git deposu penceresinde ve çakışmalar içeren tüm belgelerde bize bilgi verir.

    Birleştirme çakışması bildiriminin ekran görüntüsü.

  • Git değişiklikleri penceresinde, birleştirilmemiş değişiklikler altında çakışmalar bulunan belgelerin bir listesi gösterilir. Çakışmaları çözmeye başlamak için, çözümlemek istediğiniz belgeye çift tıklayabilirsiniz veya düzenleyicide açık çakışmalar içeren bir belgeniz varsa, birleştirme düzenleyicisini aç ' ı seçebilirsiniz.

    Git değişiklikleri penceresinde birleştirme çakışması durumunun ekran görüntüsü.

  • Birleştirme düzenleyicisini açtıktan sonra, aşağıdaki yöntemlerden herhangi birini kullanarak (numaralandırılmış ekran görüntüsünde gösterildiği gibi) çakışmayı çözmeye başlayabilirsiniz.

    1. Çakışmalar satırını satıra göre ilerleyin ve onay kutularını işaretleyerek sağ veya sol tarafı tutarak seçin.
    2. Çakışan değişikliklerinizin tümünü tutun veya yoksayın.
    3. Kodunuzu, sonuç penceresinde el ile düzenleyin.

    Visual Studio 2022 ' de birleştirme çakışmasını çözmeyi gösteren ekran görüntüsü.

    İpucu

    Birleştirme Düzenleyicisi varsayılan yerleşimini beğenmezseniz, dişli açılan menüsünü kullanarak bunu değiştirebilirsiniz.

    Birleştirme Düzenleyicisi Düzen seçeneklerinin ekran görüntüsü.

    Örneğin, aşağıdaki ekran görüntüsünde dikey görünümün nasıl göründüğü gösterilmektedir:

    Birleştirme Düzenleyicisi Kullanıcı arabirimindeki dikey görünümün ekran görüntüsü.

  • Birleştirme çakışmalarını çözmeyi tamamladığınızda birleştirmeyi kabul et' i seçin. Çakışan tüm dosyalar için bunu tekrarlayın.

    Visual Studio 2022 ' de birleştirme eylemini kabul etme ekranının ekran görüntüsü.

  • Git değişiklikleri penceresini kullanarak bir birleştirme yürütmesi oluşturun ve çakışmayı çözün.

    Git değişiklikleri penceresini kullanarak birleştirme yürütmesinin nasıl oluşturulacağı ekran görüntüsü.

    Not

    Bir belgede yaptığınız tüm değişiklikleri tutmanız gerekiyorsa, bu öğeyi Birleştirilmemiş değişiklikler bölümünde sağ tıklayıp, birleştirme düzenleyicisini açmak zorunda kalmadan geçerli (yerel) tut seçeneğini belirleyebilirsiniz.

    ' Geçerli tut ve geleni Al menü seçeneklerinin ekran görüntüsü.

Sonraki adımlar

Yolculuğa devam etmek için aşağıdaki bağlantıyı kullanarak birleştirme ve birleştirme çakışmalarını Git birleştirme ve çakışmaları çözmehakkında daha fazla bilgi edinin.

Ayrıca bkz.