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.
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.
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.
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.
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.
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.
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.
- Çakışmalar satırını satıra göre ilerleyin ve onay kutularını işaretleyerek sağ veya sol tarafı tutarak seçin.
- Çakışan değişikliklerinizin tümünü tutun veya yoksayın.
- Kodunuzu, sonuç penceresinde el ile düzenleyin.
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.
Git değişiklikleri penceresini kullanarak bir birleştirme yürütmesi oluşturun ve çakışmayı çözün.
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.
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.