Я обычно работаю по следующей схеме:
Если над задачей работает один человек, то обычно в локальном репозитории создается отдельная ветка от мастера, и разработчик работает там. Если появились изменения в мастере — rebase коммитов из мастера в новую ветку поможет (если внесенные в мастер изменения вам нужны). Затем, просто делается rebase коммитов из новой ветки в master, а та самая локальная ветка попросту удаляется за ненадобностью. В дереве коммитов все будет выглядеть так, как будто бы все делали в мастере.
Если же над таском работает не один человек — то просто пуште новую ветку и работайте по той же схеме, переодически синхронизируя изменения. Опять же по завершению работы коммиты ребейзятся на мастер и ветка (локальная и на сервере) удаляются.