#git
#git
Вопрос:
У меня есть 2 ветки, ветка DEVELOP
и ветка master
.
Я бы хотел объединить ветку DEVELOP
в ветку master
по дате, поэтому все изменения вплоть до и включая говорят Sept 15, 2020 at 4pm
Как я могу это сделать?
Обратите внимание, что ветка DEVELOP
не является локальной веткой. У него было много коммитов от многих разработчиков, и все они были отправлены на удаленный сервер.
Ответ №1:
Имя ветки — это просто удобный способ сослаться на последний коммит в этой ветке. Вы можете указать любой коммит для git merge
команды.
Предположим, что ветви выглядят так:
A---B---C (master)
--D---E---F---G (DEVELOP)
и предположим, что E
это последний коммит в нужном вам диапазоне дат, тогда master
вы можете запустить
git merge E
Вы, наверное, знаете это, но для полноты картины: вы можете найти последний коммит до определенной даты, используя --until
опцию --before
(или ) для git log
. Это принимает самые разные форматы, включая именно то, что вы указали в вопросе:
git log --until="Sept 15, 2020 at 4pm"
Ответ №2:
Вы можете cherry-pick
совершать коммиты по диапазону:
git cherry-pick A^..B
Это применит изменения от фиксации A
до фиксации B
(включительно).