Git знает, какая ветвь после слияния? - PullRequest
2 голосов
/ 21 мая 2010

Извините, если это глупый вопрос только с ответом да / нет, но если я правильно понимаю, в git ветка - это просто указатель на коммит. Не означает ли это, что после объединения двух веток git не знает, какая из них указала на какой набор коммитов?

До

A---B---C---D---E    <- X
 \                
  1----2----3----4   <- Y

После

A---B---C---D---E--M  <-X & Y
 \                /
  1----2----3----4

Ответы [ 2 ]

9 голосов
/ 21 мая 2010

Если я правильно помню, вы сливаете ветку в другую, как feature1 в master, так что master теперь указывает на коммит-слияние, но feature1 по-прежнему указывает на то место, на которое он указывал ранее.

Редактирование Jefromi: Этоправильный.Картинки должны выглядеть так:

git checkout branch X

    A---B---C---D---E   branchX (HEAD)
     \                
      1----2----3----4   branchY

git merge branchY

    A---B---C---D---E--M  branchX (HEAD)
     \                /
      1----2----3----4  branchY
1 голос
/ 22 мая 2010

Слияние ветвей фактически не объединяет ссылку с другой веткой; он объединяет содержимое другой ветви с текущей.

...