Более интересные перемещения
Также возможно сделать так, чтобы при перемещении воспроизведение коммитов начиналось не от той ветки, на которую делается перемещение. Возьмём, например, историю разработки с тематической веткой, ответвлённой от другой тематической ветки. Вы создаете тематическую ветку server, чтобы добавить в проект некоторые функциональности для серверной части, и делаете коммит. Затем вы выполнили ответвление, чтобы сделать изменения для клиентской части, и несколько раз выполнили коммиты. Наконец, вы вернулись на ветку server и сделали ещё несколько коммитов.
Предположим, вы решили, что хотите внести свои изменения для клиентской части в основную линию разработки для релиза, но при этом хотите оставить в стороне изменения для серверной части до полного тестирования. Вы можете взять изменения из ветки client, которых нет в server (723df94 и 4556383), и применить их на ветке master.
Для этого переключитесь на ветку client, а затем выполните интерактивное перебазирование:
- ,
- затем в панели История выполните на ветке master контекстную команду Interactive Rebase.
В результате 1C:EDT откроет панель Interactive Rebase, в которой будут перечислены все коммиты ветки client.
Поскольку мы собираемся перебазировать только два последних коммита, выделите первый коммит и отметьте, что его нужно пропустить.
После этого нажмите Старт в командной панели и 1C:EDT выполнит перебазирование оставшихся двух коммитов в ветку master. Несмотря на некоторую сложность этого способа, результат впечатляет.
Теперь вы можете выполнить перемотку вперёд для ветки master:
- ,
- затем .
Представим, что вы решили добавить наработки и из ветки server. В этом случае вы можете поступить как и раньше: переключиться на ветку server и перебазировать её в master:
- ,
- затем .
Эти команды поместят результаты работы в ветке server в начало ветки master.
После чего вы сможете выполнить перемотку вперёд основной ветки master:
- ,
- затем .
Теперь вы можете удалить ветки client и server, поскольку весь ваш прогресс уже включен в основную линию разработки, и больше нет нужды сохранять эти ветки.