Использовал production/integration
ветки для управления продвижением кода в продакшн. Наша ветка integration
- это стабильная среда интеграции, из которой созданы все функциональные ветки, а слияния проверяются PR и развертываются через CI после утверждения и сжатия + слияния. Как только integration
станет стабильным и мы проверим его, мы делаем еще один PR от integration
до production
. Когда это утверждено и объединено + объединено, CI берет на себя и развертывает в производственной среде.
git checkout integration
git checkout -b feature
# do work
git add/commit etc
# create PR, squash+merge on github UI when reviewed
# CI sees new commit to integration, deploys to int env
Моя проблема заключается в том, как эти integration -> production
PR выглядят, когда они проверяются - хотя (иногда ) Я сделал следующее, чтобы получить какие-либо коммиты из production
в integration
:
git checkout integration
git pull
git pull origin production
git push
# create PR for integration merge into production
Когда я go смотрю страницу PR в Github, список коммитов показывает историю вернуться к коммитам, которые уже представлены в production
. Список «Файлы изменены» очень мал, в то время как история коммитов насчитывает множество PR a go. Я думал, что git pull origin production
удалит эту историю, а затем покажет только новые коммиты от integration
до production
?
Мне не хватает очевидного способа поддерживать коммиты слияния, но также очищать историю, когда integration
объединяется с production
? Может ли это вызвать несовместимые стратегии слияния / перебазирования?