В этом проекте у нас есть master
, staging
и develop
ветви. Все ответвления признака ветвятся от develop
и сдавливаются и объединяются обратно в develop
с помощью функции запроса извлечения и слияния GitHub. Как только мы готовы к выпуску, мы сливаемся в staging
и в конечном итоге master
(производство).
На протяжении всего проекта были различные исправления для master
(производство), и это может вызвать некоторые конфликты, когда мы делаем релиз, объединяя develop
в staging
и затем staging
в master
.
Чтобы смягчить это, я попробовал следующее.
- Создать новую ветку из
develop
, т. Е. Название ветви fix-conflicts
- Введите
master
до fix-conflicts
и разрешите конфликты
- Введите
staging
в fix-conflicts
и разрешите конфликты
- Создать запрос на
fix-conflicts
для объединения в develop
- Запрос извлечения из сквоша и слияния
После этого я создаю новую ветку из develop
(после получения последней версии). Я ожидаю, что если я добавлю master
, больше не будет конфликтов, так как я их уже разрешил. Но это не так - остаются те же конфликты. Я подозреваю, что это связано с сквошем и слиянием, заставляя его забыть о метаданных, связанных с обновлениями, но хотел бы услышать ваши мысли по этому поводу.
Эта проблема действительно заставила меня понять, как мало я знаю о git ?