Я пытаюсь определить правильный рабочий процесс для этой ситуации:
В общем репо у нас есть следующие ветки:
-master
-feature
Ветвь feature является веткой shared , так как многие разработчики совместно работают над новой функцией. Они активно продвигают свои изменения в ветви функций.
Я пытаюсь избежать «ада конфликта» в тот день, когда функция наконец-то снова объединится с master . В данный момент вижу несколько вариантов:
1) Активно объединить master в feature и делать это часто. Однако это не рекомендуется в git docs, и я начинаю чтобы понять почему. Когда я пытаюсь это сделать, мне кажется, что я снова и снова решаю одни и те же конфликты.
2) Как-нибудь использовать rebase. Я читал об этом, но похоже, что он не будет работать, поскольку ветвь feature фактически используется совместно. Все, что требуется, - это один разработчик, чтобы выполнить 2 ребазинга, а у других разработчиков могут возникнуть конфликты из несоответствующей истории.
3) Превратите ветку feature в интеграционную ветвь, , и пусть разработчики используют свои собственные независимые ветки Feature с перебазированием, чтобы сохранить разумность.
4) Что-то совершенно другое?