#git #gitlab #git-flow
#git #gitlab #git-flow
Вопрос:
Я работал над функцией (feature / A) несколько недель назад, однако возникла новая потребность, и мне пришлось отложить функцию в сторону. Итак, я создал новую функцию (feature / B) и работал с этим требованием, пока оно не было готово объединить его с веткой разработки, и поэтому я это сделал.
Как я могу перенести те изменения, которые сейчас находятся в ветке разработки, в feature / A? Я пока не хочу ее объединять, функция не завершена.
ps: Я полагаю, что это довольно просто сделать, но ни один из подобных вопросов, которые я прочитал, не касался того, что я хочу сделать. Был один, который сказал мне создать временную ветку и объединить изменения в ней, но я думаю, что есть более простой способ сделать это, и я просто еще не знаю этого.
Ответ №1:
Есть два распространенных способа добиться желаемого: объединить и перебазировать
Слияние: так же, как вы объединили свою функцию / B для разработки, вы можете объединить разработку с функцией / A. Обратите внимание, что, поступая таким образом, вы не уважаете поток git. Итак, если для вас важно придерживаться этого glow, вы можете выполнить перебазирование.
git checkout feature/A
git merge develop
Перебазируйте: с этим корневая база вашей ветки станет вершиной разработки (своего рода способ корректно разместить вашу ветку поверх новой базы, если хотите).
git checkout feature/A
git rebase -i develop
Поступая таким образом, вы будете иметь полный контроль над своими коммит (отбрасывать, сжимать или оставлять как есть).
Если вы используете инструмент GUI для git, я почти уверен, что вам удастся найти в нем эти функции, поскольку они довольно распространены.