Я предполагаю, что вы работаете с централизованным пустым репозиторием, где все вносят свои изменения, а затем вы тянете последнюю ветвь testing
в тестовую среду.
Почему бы не использовать Git кактекущую DVCS и просто извлекать функции от каждого пользователя в среду тестирования, когда тестирование предыдущей функции завершено?
Если Билл разрабатывает FeatureX, а Тед разрабатывает FeatureY, они могут сделать свои функции доступными в ветвях, называемыхtesting/feature-x
и testing/feature-y
соответственно, и вы можете просто оформить bill:testing/feature-x
в среде тестирования.
Если все это не удастся, использование нескольких ветвей testing/feature-name-here
решит вашу проблему в традиционной централизованной системе.Просто попросите пользователей перенести их ветку testing/...
в центральный репозиторий, втянуть их в среду тестирования, удалить ветку, когда она будет протестирована.Вы всегда можете увидеть список функций, ожидающих тестирования, изучив все ветви с префиксом testing/
.Если тестирование функции завершается неудачно, у вас есть центрально расположенная ветка, специфичная для этой функции, где вы можете добавлять новые коммиты в fix функцию до ее повторного тестирования.
Что вы делаете сейчас, еслифункция не проходит тестирование, после того, как она переместилась на единственную ветку тестирования?Что если кто-то еще переместил свою функцию для тестирования на ветку, которая теперь содержит поврежденную функцию?