Я использую следующий подход:
1. Для каждого задания создается отдельная ветка из мастера. То есть если параллельно в разработке Х заданий - создается Х веток.
2. Если нужно переключиться между заданиями - коммитим текущие изменения и переключаемся (или создаем) на ветку с новым заданием
3. При переключении на ветку задания актуализируемся из мастера
4. При окончании разработки сливаем ветку в QA для тестирования
5. По окончании тестирования сливаем ветку в мастер и удаляем (или нет :) исходную