Visual Studio'da birleştirme çakışmalarını çözme

Bir dalı başka bir dalla birleştirdiğinizde, bir daldaki işlemelerdeki dosya değişiklikleri diğer daldaki değişikliklerle çakışabilir. Git, birleştirilmiş dosyaların nasıl görünmesi gerektiğini belirlemek için deponuzdaki geçmişi kullanarak bu değişiklikleri çözmeyi dener. Değişikliklerin nasıl birleştirildiği açık olmadığında Git birleştirmeyi durdurur ve hangi dosyaların çakıştığı konusunda size bildirir.

Birleştirme çakışmalarını önleme

Git, dosya içeriği işlemeler arasında önemli ölçüde değişmediği sürece çoğu durumda dosya değişikliklerini otomatik olarak birleştirme konusunda iyidir. Dalınız ana dalınızın çok gerisindeyse, çekme isteğini açmadan önce dallarınızı yeniden kullanmayı göz önünde bulundurun. Yeniden temel alınan dallar, çakışma olmadan ana dalınızla birleştirilir.

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

  • Aynı daldaki diğer kişilerle işbirliği ediyorsanız, değişikliklerinizi gönderdiğinizde birleştirme çakışmaları görebilirsiniz.

    Gönderimden sonra birleştirme çakışmasının ekran görüntüsü.

  • Visual Studio, üzerinde çalıştığınız yerel dalın uzaktan izleme dalı arkasında olup olmadığını algılar ve ardından aralarından seçim yapabileceğiniz seçenekler sunar.

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

    Not

    Uzak deponuz Zorla Göndermeyi destekliyorsa Git> Ayarlar kullanarak etkinleştirebilirsiniz.

    Bu örnekte, uzak depoya eklenen değişiklikleri eklemek için Çek'i ve ardından Gönder'i seçin. Değişiklikleri çekerken veya iki dalı birleştirmeye çalışırken birleştirme çakışmaları varsa, Visual Studio Git Değişiklikleri penceresinde, Git Deposu penceresinde ve çakışmaları olan tüm dosyalarda bunu size bildirir.

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

  • Git Değişiklikleri penceresi, Birleştirilmemiş Değişiklikler altında çakışmaları olan dosyaların listesini gösterir. Çakışmaları çözmeye başlamak için bir dosyaya çift tıklayın. Ya da düzenleyicide açılmış çakışmaları olan bir dosyanız varsa Birleştirme Düzenleyicisini Aç'ı seçebilirsiniz.

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

  • Birleştirme Düzenleyicisi'nde, aşağıdaki yöntemlerden birini kullanarak çakışmanızı çözmeye başlayın (numaralandırılmış ekran görüntüsünde gösterildiği gibi):

    1. Çakışmalarınızın üzerinden satır satır geçin ve onay kutularını seçerek sağ veya sol tarafı korumak arasında seçim yapın.

      - veya -

    2. Gelen tüm değişiklikleri kabul etmek için Gelen Al düğmesini (veya F10 tuşuna basın) veya çakışan tüm değişikliklerin geçerli sürümünü korumak için Geçerli Al düğmesini (veya F11'e basın) seçin. Yan yana çerçevenin üst kısmındaki onay kutularından birini seçerek de aynı işlemi yapabilirsiniz.

      - veya -

    3. Sonuç penceresinde kodunuzu 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'ndeki varsayılan düzeni beğenmezseniz, dişli açılan menüsünü kullanarak değiştirebilirsiniz.

    Düzenleyiciyi Birleştir düzen seçeneklerinin ekran görüntüsü.

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

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

  • Birleştirme çakışmalarını çözmeyi bitirdiğinizde Birleştirmeyi Kabul Et'i seçin. Çakışan tüm dosyalar için bu işlemi yineleyin.

    Visual Studio 2022'de Birleştirmeyi Kabul Et eyleminin ekran görüntüsü.

  • Git Değişiklikleri penceresini kullanarak birleştirme işlemesi oluşturun ve çakışmayı çözün.

    Git Değişiklikleri penceresini kullanarak birleştirme işlemesi oluşturma işleminin ekran görüntüsü.

    Not

    Dosyada yaptığınız tüm değişiklikleri korumak istiyorsanız, Birleştir Düzenleyicisi'ni açmak zorunda kalmadan, Birleştirilmemiş Değişiklikler bölümünde dosyaya sağ tıklayabilir ve Güncel Tut (Yerel) seçeneğini belirleyebilirsiniz.

    Geçerli Menüyü Koru seçeneğinin ekran görüntüsü.

İpucu

Kullanabileceğiniz erişilebilirlik seçenekleri hakkında daha fazla bilgi edinmek için Visual Studio için erişilebilirlik ipuçları ve püf noktaları sayfasının Git klavye kısayolları bölümüne bakın.

Fark aracınızı yapılandırma

Dosyanızı .gitconfig BeyondCompare veya KDiff3 gibi üçüncü taraf fark aracını kullanacak şekilde ayarlarsanız, Visual Studio buna saygı gösterir. Visual Studio normalde fark görüntüleyeceğinden, seçtiğiniz araçta ayrı bir pencere açılır. Bir örnek için bu StackOverflow sorusuna bakın.