Git: Rebase Терминология - PullRequest
       3

Git: Rebase Терминология

2 голосов
/ 22 апреля 2019

Учитывая следующие ветви

     A---B---C topic (HEAD)
    /
D---E---F---G master

и выполняя команду

git rebase master

Значит ли это, что мы

  • перебазируем topic/HEAD вmaster, или ...
  • перебазирование master с topic/HEAD?

Я не могу понять, как бы я выразил это действие в предложении из git-rebase man pages.

PS: я знаю, что такое rebase и что оно делает, я просто хочу знать, "как говорить" команду, поскольку первый аргумент на самом деле называется upstream.

Ответы [ 3 ]

4 голосов
/ 22 апреля 2019

Результирующий макет ветви будет выглядеть следующим образом:

      A---B---C ("dangling", waiting for garbage collection)
     /
D---E---F---G---A'---B'---C' < topic (HEAD)
            ^
          master

Вы будете перебазировать свою topic (текущую) ветвь с master,таким образом изменяя происхождение A (теперь A ', поскольку это не совсем тот же коммит) с E на G.

3 голосов
/ 22 апреля 2019

Первая, перебирающая тема / HEAD на мастере.

Вы принимаете все коммиты вплоть до самого последнего из мастеров. Текущее состояние / последний коммит мастера теперь снова является «базой», на которой вы основали свою работу.

Вы перебазировали эту работу на (уже проделанной работе) мастере.

И (копии) ваших коммитов будут добавлены в конце, после последнего коммита в master. Кредиты Макото для предоставления графики, которая объясняет выше.

Для получения дополнительных справочных материалов я лично думаю, что этот урок от Atlassian объясняет это очень хорошо, в том числе схожую графику. Базовое перебазирование - это 2-минутное чтение, после чего оно продолжается интерактивным перебазированием, которое является действительно очень приятной функцией в вашем наборе инструментов!

1 голос
/ 23 апреля 2019

Я просто хочу знать, «как произносить» команду, поскольку первый аргумент фактически называется восходящим.

Я всегда мысленно читаю эту команду git rebase master как:

перебазировать текущую ветку поверх master (восходящая ветвь)

То есть: воспроизвести весь коммит с master (исключено) до текущей ветки HEAD поверх мастера.

Проверьте также « git rebase, отслеживая« local »и« remote »»

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