Я пытаюсь понять, как лучше публиковать ветку функций в ветке предварительного просмотра для git. Вот мои настройки:
- Клиент запрашивает функцию.
- Я разрабатываю начальную функцию и публикую сайт для предварительного просмотра / тестирования.
- Клиент предоставляет отзыв.
- Я делаю больше изменений.
- Пройдите к шагу 3 несколько раз.
- Клиент хорош для работы с функцией
- Функция перебазирования в единый коммит, отправленный на производственную площадку.
Обратите внимание, что несколько различных функций могут быть разработаны одновременно, и существует только один сайт предварительного просмотра, на котором клиент может видеть все эти функции по мере их разработки. Мой рабочий процесс Git в настоящее время.
git checkout -b new_feature
...hack hack hack...
git add .
git commit -m "WIP"
git checkout preview
git merge new_feature
... feedback and another feature got approved and merged with master ...
git checkout new_feature
git merge master
... hack hack hack...
git add .
git commit -m "WIP"
git checkout preview
git merge new_feature
... client approves work for release ....
git checkout new_feature
git rebase -i master
... squash all commits except the first which I reword with a good description...
git checkout master
git merge new_feature
git branch -d new_feature
git checkout preview
git merge master
git checkout master
Итак, конечный результат:
- Мне удалось разработать эту функцию в ее отдельной изолированной ветке и контролировать, когда она перейдет в производство. Это также свернуто в производстве как хороший аккуратный коммит.
- Клиент может видеть эту функцию по мере ее разработки и предоставлять обратную связь. Они также могут видеть эту функцию наряду с другими функциями, которые я разрабатываю одновременно.
- Ветвь «предварительного просмотра» становится немного грязной, так как она получает как коммиты «WIP», так и финальный перебазированный коммит. Но я не против, так как это только для предварительного просмотра клиента, и я могу периодически удалять ветку и заново создавать из мастера, если я хочу.
Моя единственная проблема в том, что у меня больше конфликтов, чем я ожидал. Я думаю, что это потому, что постановка получает как коммиты разработки, так и финальный коммит. Мне также интересно, есть ли лучший способ сделать это?