Почему для слияния нужно, чтобы вы считали общего предка? - PullRequest
3 голосов
/ 01 апреля 2011

Я изучаю Git и считаю учебник по этому сайту очень полезным. На этой странице, касающейся слияния, она содержит:

         +---------- (D) ---------------+
        /             |                  \
(A) -- (B) -- (C) -------------- (E) -- (F)
                      |                  |
                 fix-headers           master
                                         |
                                        HEAD

Коммит слияния (F), имеющий родители (D) и (E). Потому что (B) общий предок между (D) и (E), файлы в (F) должны содержать изменения между (B) и (D), а именно исправления заголовков, включенные в файлы из (E).

Я не понимаю, почему вы беспокоитесь об общем предке B. Почему вы не можете просто объединить D и E для получения F? D будет получен из B, но может содержать различия, которые вы хотите. Между B и D могло произойти несколько коммитов с внесением и удалением изменений.

Ответы [ 3 ]

4 голосов
/ 01 апреля 2011

(стесняюсь спросить, если это апрельский дурак, я не хочу никого оскорблять ...)

Может быть, вы не понимаете, что это мерзавецобъединение для вас?

Вопрос : Вот D и E, вы можете сказать мне, как должен выглядеть F?

D                                        E
using System;                            using System;
public void main()                       public void main()
{                                        {
     Console.WriteLine("hello world");        Console.WriteLine("Hello world!");
}                                        }

Ответ : Нет, вы не можете

Однако, если вы знаете, что B выглядело так:

B
using System;
public void main()
{
     Console.WriteLine("hello world");
}

Это становится ежу понятно, и git может справиться с этим самостоятельно .

Не знаю, если это ответит на ваш вопрос ...

2 голосов
/ 01 апреля 2011

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

1 голос
/ 01 апреля 2011

В Википедии есть хорошее введение при трёхстороннем слиянии

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