Я читал похожие вопросы по этому поводу, но все еще чувствую необходимость задать вопрос.
У меня есть сценарий, где у нас есть много крошечных «функций», ожидающих одобрения. Я обычно вижу два подхода.
1. Сохраняйте туловище сплошным и имейте тонны ветвей для каждой крошечной «функции» По сути, каждая новая вещь - это ветка.
Минусы:
- Может стать кошмаром, чтобы поддержать так много веток, независимо от того, насколько малы изменения. Синхронизация всех веток и т. Д. И т. Д.
- Хуже всего то, что я вижу в этой настройке тестовой системы, чтобы можно было легко проверить изменения для утверждения (в основном нужно поддерживать все ветви, которые кажутся безумными).
Плюсы:
- Казалось бы, легко, когда одобрено присоединение ветви к стволу и добавление нового выпуска к тегу и развертыванию.
2. Для больших функций ветвь выпущена, и для небольших изменений все идет в транк (относительно стабильно) напрямую.
Плюсы:
- Легче настроить тестовую систему, так как большую часть времени все будет видно непосредственно. Для больших функций должно быть легко поддерживать отдельную ветку на тесте.
Минусы:
- Не очень понимаю, как пойдет релиз. Я не смогу в основном выпустить одну часть ствола. Это будет связано с вишнёвым пикированием, за которым безумно следить. Другой подход заключается в том, чтобы я просто принудил к тому, что через некоторое время (примерно через неделю) все небольшие функции должны быть утверждены, чтобы их можно было развернуть перед тем, как давать новые задачи.
Я просто создаю ветку релиза и все или ни одна из мелких функций не будут запущены. Это будет забавное обсуждение с главными людьми.
Полагаю, технически очень сложно иметь множество небольших ожидающих вещей.