Modit

2016-04-11 11 views
1

ile modifiye edilmiş uzak depo iş akışına uygun bir şekilde itme Benim gölgem üzerinden zıplamaya çalışıyorum ve sonunda temel seviyede gitmeyi öğreniyorum. Önceden sayısız yeni başlayanlar gibi, uzaktaki değişimlerle birleştirildikten sonra "birleştirilmiş olarak işaretlendikten sonra" bastırmaya çalışırken, "ebediyen reddedilen hızlı olmayan" hataya düştüm.Modit

Zaten bu sorun için bir çözüm bulmuş gibi görünüyor, ancak hantal ve eclipse düzenleyicisi ile uyumlu değil. Ben böyle yapmak:

    benim değişiklikleri itin
  1. - karşılaştırmak editör şimdi <, = ve> işaretlerini içeren - Hata
  2. çekin değişiklikleri "egit olmayan-hızlı ileri reddedilen" neden olur. Karşılaştırma editörünün sağ tarafı ve soldaki değişikliklerimi ve birbirlerinin üzerindeki birbiriyle çelişen değişimleri içerdiği için, değişiklikleri rahatça karşılaştırabilen ve değiştiremiyorum, ki bu oldukça işe yaramıyor.
  3. Metni el ile düzenleyerek istediğiniz parçaları ağrılı şekilde alın.

Örnek olarak doğru yolu mu kullanıyorum?
Karşılaştırma düzenleyicisinin her iki tarafını düzgün kullanmanın bir yolu var mı?

Eklenecek olan sürümümü ve birleştirme sırasında her zaman mevcut uzaktan sürümdeki farklılıkları görmek istiyorum.

cevap

1

Egit'e aşina değilim, ama birleşme çatışmasıyla uğraştığınız anlaşılıyor. Başka birinin de üzerinde çalıştığınız şubeye erişim hakkı olduğunu varsayarak haklı mıyım? Muhtemelen ne oldu, reddedişe neden olan dalda yeni değişiklikler yaptılar. Ve çekerek, çözmen gereken bazı çelişen değişiklikleri birleştirmeye çalışıyorsun. Here aynı sorunun daha iyi bir açıklamasıdır.

Kötü haber, birleştirme çakışmalarının her zaman el ile çözülmesi gerektiğidir. İyi haber, egit'in bu çatışmaları çözmek için birleştirme aracı sağladığına benzemesi. This egit wiki page, aradığınız karşılaştırma aracını bulmanıza yardımcı olabilir. Temel olarak, çakışma olan dosyayı seçin ve ardından Ekip> Birleştirme Aracı 'u seçin.


Bu işe yaramazsa, her zaman güvenle (= <,>, ve benzeri) sadece git işaretleri birleştirme kullanarak birleştirme çakışmaları çözebilirsiniz. Bunların nasıl kullanıldığı hakkında ayrıntılı bir açıklama için Read this. Temel olarak, <<< ve ==='un altındaki her şey değişiklikleriniz olacaktır. === ve >>>'un altındaki kod değişiklikleri olacaktır. Ya da hangisini istediğinizi seçmek zorundasınız ya da daha da özelleştirebilirsiniz. her şeyi silerek ve kodu kendiniz yazarak.

İşte bir örnek. Bu, birleştirme çakışmasını çözerken görebileceğiniz bir şeydir. En üstte, yerel HEAD'nizde, taahhüdünüzün sürümünüzde size bağlılık gösterilir. Ve === altında alt, origin/master de taahhüt gösterir, sürüm sadece çekilmiş.

<<<<<< HEAD:test.html 
<h1>This is my version</h1> 
====== 
This is their version 
>>>>>> origin/master:test.html 

yalnızca sürümünü tutmak için, sadece bu o tüm bloğu yerini alabilir. Oklar gibi ve eşit işaretler size bir seçenek sunuyor. Üstünü mi, yoksa altını mı (onların)?

Alternatif olarak, belki de ikisinin birleşimini istiyorsunuz. Burada, <h1> html etiketinizi, ancak onların metinlerini kullanıyor olacaksınız.

<h1>This is their version</h1> 

Umarım bu, birleştirme çakışmalarını çözmede daha rahat hissetmenize yardımcı olur. Git hakkında daha fazla bilgi edinmek isterseniz, her zaman git-scm'u tavsiye ederim.