Извлекать изменения из разработки ветки в мою функцию

#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, я почти уверен, что вам удастся найти в нем эти функции, поскольку они довольно распространены.