Как я могу сделать это слияние в ускоренном режиме без конфликта - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть обычная ветвь master и ветвь topic, у которой master является предком.

master пошел в одном направлении, а topic пошел в другом направлении.

master выглядит так:

savePerson: function(e) {
    e.preventDefault();
    var spinner = new Spinner({
        spinner:this.el,
        stopEvent:{context:this.model,event:'save'}
    });
    this.model.save();
}

и topic выглядит так:

savePerson: function(e) {
   e.preventDefault();

   if (!this.validator.valid()) {
      return;
   }

   this.model.save();
}

Делая diff я получаю:

     savePerson: function(e) {
         e.preventDefault();
-        var spinner = new Spinner({
-            spinner:this.el,
-            stopEvent:{context:this.model,event:'save'}
-        });
+        
+        if (!this.validator.valid()) {
+            return;
+        }
+        

Теперь, как человек, мне ясно, какой фрагмент кода идет куда, и я понимаю, что git явно сбит с толку и, таким образом, вызывает конфликт.

Есть ли способ исправить файл topic, чтобы не было конфликта?

Ответы [ 3 ]

3 голосов
/ 03 ноября 2011

Вы можете перемотать вперед только на линейной последовательности.Даже если бы у вас были идентичные ветви, вам пришлось бы объединить (если они не находятся в линейной последовательности).

Теперь, что вы можете сделать, это полностью предотвратить слияние, переместив ветку темы поверх главной изатем слияние, или вишня, выбирающая коммиты на мастере.

3 голосов
/ 03 ноября 2011

Каждая ветвь добавляет некоторый код в одно и то же место. Нет абсолютно никакого способа, которым компьютер мог бы предположить, который должен быть первым. Всякий раз, когда git не может сказать, он просто объявляет конфликт, и вы должны разрешить его вручную.

Так что просто git merge master в topic, разрешите конфликт (либо в аннотации <<<</====/>>>>, либо запустив какой-либо графический инструмент слияния, возможно, с помощью команды git mergetool) и подтвердите результат. Тогда topic обновляется до master, и вы можете двигаться дальше.

3 голосов
/ 03 ноября 2011

Это даже вызывает конфликт во время слияния? Как выглядит общий предок файла? И даже мне - как человеку - не ясно, какой код должен идти куда.

А в чем проблема с конфликтом слияний? Слить, разрешить конфликт, совершить. В этом нет ничего плохого ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...