Я работаю над проектом, в котором я занимаюсь интеграцией / тестированием программного обеспечения.
Изначально мы работали над той же веткой, что и разработка, но проблема в том, что ветка разработки очень быстро создает новые функции. Создание кода интеграции стало трудным, потому что ветвь нестабильна. У нас есть регрессия в этой ветке, которая проверяет, работают ли старые функции, но мы обнаружили, что нам нужна передышка, чтобы мы могли создать некоторый начальный тестовый код.
Мы стремимся создать ветку (таким образом, DEV для разработки и STAGE для нас), чтобы у нас был стабильный код. Как только мы почувствуем, что наш тестовый код стабилен, мы можем объединить DEV с нашим STAGE, и тогда мы увидим, что ломается. Если все работает хорошо, мы можем добавить наш тестовый код обратно в DEV, чтобы новые функции, которые мы тестировали, больше не ломались.
Проблема в исправлении ошибок.
Пока мы создаем тестовый код интеграции, команда разработчиков продолжит разработку своего кода в ветке DEV. Скорее всего, мы найдем ошибку в их коде в ветке STAGE. Это может вызвать один из двух senerios.
Ошибка является допустимой ошибкой. В этом случае они могут отделиться от STAGE, где обнаружено исправление ошибки, исправить ошибку и объединить ее с DEV.
Ошибка была где-то исправлена в DEV. Проблема, с которой я столкнулся, заключается в том, что если эта ошибка исправлена в DEV, то нам пришлось бы объединить в STAGE все изменения, начиная с последней точки слияния и заканчивая моментом исправления этой ошибки.
Похоже, что это общая проблема, когда команда интеграции работает с командой разработчиков, и обе команды не знают, как решить эту проблему.