Объедините ветку git, чтобы сделать результаты посредничества доступными для других. - PullRequest
1 голос
/ 09 мая 2019

Я часто сталкиваюсь с одним и тем же вопросом, но не могу определиться с тем, что является хорошей практикой.

Скажем, мы пара разработчиков, добавляющих функции в ветку dev (с ветвями feature_1 , feature_2 , ...) и объединяя их в dev когда они будут готовы. (Все эти ветви выдвинуты на origin , пусть только по причинам резервного копирования.) Теперь я реализовал базовую версию feature_1 , я все равно сделаю ее лучше, но она уже работают, а другие хотят перебазировать функции, которые они разрабатывают на моем.

Что бы вы сделали?

  1. Пусть они перебазируют свои feature_x на feature_1 . Это звучит плохо для меня, потому что позже я могу слить feature_1 в dev - потенциально создать коммит слияния - и тогда я не уверен, что произойдет, когда они захотят слить свои feature_x in dev (который к тому времени, скорее всего, будет иметь другие коммиты).
  2. Объедините feature_1 в dev , чтобы они могли перебазировать свои feature_x на dev . Но что мне делать, чтобы продолжать работать с feature_1 ?
    1. Просто продолжайте работать над feature_1 ? Я не уверен, что это правильный способ сделать это, потому что он был объединен (особенно в отношении аккуратности истории мерзавцев).
    2. Удалить feature_1 и создать оттуда новую ветку с тем же именем? Я не могу придумать лучшего названия ветви, чем у меня уже было: это просто продолжение.
    3. Создайте новую ветку feature_1_b или что-то в этом роде. Это звучит грязно для меня, и никто не поймет, что я имею в виду под " _b ".

Заранее спасибо.

1 Ответ

0 голосов
/ 09 мая 2019

Я бы пошел за чем-то вроде вашего второго выбора:

Если часть feature_1 готова (и под готовностью я особенно имею в виду, что она не нарушает приложение), я быобъединить его в разработке (следуя рабочему процессу «часто совершать, часто объединять»), чтобы любой, кто работает в разработке, имел к нему доступ.

Затем, после объединения feature_1, я бы перебазировал егоповерх develop (что по сути то же самое, что удаление ветви feature_1 и воссоздание ее поверх develop) и работа над ней оттуда.

Что касается вашего выбора 1, я быНе рекомендуется, чтобы люди основывали свою работу поверх вашей функциональной ветви, так как вы можете изменить свою ветку, изменить порядок коммитов, изменить их и так далее.Я бы рассматривал чью-либо ветвь функций (выдвинутую или нет) как частную и потенциально нестабильную, и не трогал бы ее и не основывал на ней свою работу.

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