Это практическое дополнение к моей предыдущей статье, где я рассказывал, почему вам может быть интересен способ ведения версий с помощью бранчей. Сейчас же я хотел подробнее показать, как это можно реализовать на примере одного сценария. Естественно, я не могу показывать свои реальные юзер флоу, поэтому предположим, что у нас есть большой сценарий, за развитие которого вы отвечаете.
![Шаг 1 — создаем файл и первый бранч внутри него Шаг 1 — создаем файл и первый бранч внутри него](https://habrastorage.org/getpro/habr/upload_files/62b/cd0/567/62bcd0567db08608c37d3324deaba89c.png)
Начнем с того, что создаем пустой файл, добавляем в него страницу с ссылками на бранчи, и обложку. И сразу же создаем первый бранч с первой версией нашего сценария.
![Шаг 2 — удаляем ненужные страницы из бранча Шаг 2 — удаляем ненужные страницы из бранча](https://habrastorage.org/getpro/habr/upload_files/3e5/426/029/3e5426029de62a2ae219d2b5c5f0f05f.png)
Видим, что в первый бранч у нас скопировалось все с главного файла. Это не нужно, удаляем.
![Шаг 3 — делаем макеты в новом бранче Шаг 3 — делаем макеты в новом бранче](https://habrastorage.org/getpro/habr/upload_files/328/974/af3/328974af381e226e38018a4107f51de7.png)
Делаем нашу первую версию сценария в бранче. Даём ссылку на него команде, прикрепляем в Jira, пишем комментарии, обновляем компоненты и тд.
![Шаг 4 — создаем навигацию и прикрепляем ссылку на бранч Шаг 4 — создаем навигацию и прикрепляем ссылку на бранч](https://habrastorage.org/getpro/habr/upload_files/16c/666/71b/16c66671bdce1a42803c41cb03dd3e2b.png)
В Main файле создаем навигацию, чтобы в нужный бранч всем было удобно входить через список файлов в фигме. Назначаем нашей первой версии дизайна статус «в процессе дизайна» и прикрепляем ссылку на бранч прямо в название. Входить в бранчи можно также по прямым ссылкам и через контекстное меню в файле фигмы.
![Шаг 5 — создаем новый файл для будущих доработок сценария Шаг 5 — создаем новый файл для будущих доработок сценария](https://habrastorage.org/getpro/habr/upload_files/f78/945/6e3/f789456e3f288606978c1b546675e6bd.png)
Далее, когда мы получили новую задачу по изменению сценария или, например, мы знаем что какие‑либо фичи не смогут пойти в первый релиз, мы создаем новый бранч специально для этого, копируем в него наш первый сценарий и дорабатываем в новом бранче. Допустим, мы хотим добавить в экран слайдер, можем так и назвать новый бранч.
![Шаг 6 — меняем статус для первой версии дизайна Шаг 6 — меняем статус для первой версии дизайна](https://habrastorage.org/getpro/habr/upload_files/47b/547/b7c/47b547b7c780abc61f50c4223445833c.png)
Первой версии дизайна присваиваем новый статус, это может быть «передано в разработку или реализовано». А новый бранч появляется со статусом «в процессе дизайна».
![Шаг 7 — работаем в новом бранче Шаг 7 — работаем в новом бранче](https://habrastorage.org/getpro/habr/upload_files/d76/f80/531/d76f80531553d674ed10bbaf86e7a1e9.png)
Работаем в новом бранче — добавляем все нужные фичи и подсказываем команде что изменилось. Механика очень похожа на историю версий в Git или Release notes в AppStore.
![Шаг 8 — повторяем все по-кругу Шаг 8 — повторяем все по-кругу](https://habrastorage.org/getpro/habr/upload_files/0f3/4c7/991/0f34c7991ecf438bd204488cd45896e5.png)
Вторую версию сделали. Можно создавать новый бранч под новые задачи.
![Шаг 9 — поддерживаем актуальные статусы у бранчей Шаг 9 — поддерживаем актуальные статусы у бранчей](https://habrastorage.org/getpro/habr/upload_files/6ff/23f/4ac/6ff23f4acfb3a70f05dd5d33126aa071.png)
Старым версиям присваиваем актуальные статусы. Первая версия уже не актуальна — помечаем её как «Архив». Вторая версия сейчас вынесена на клиента, она «В релизе». А над третьей версией мы работаем сейчас, то есть «В процессе дизайна».
Спасибо за внимание, если вас заинтересовал такой подход, но есть вопросы — пишите комментарии.
Ivnika
Да, действительно, можно линки давать и на версии файла, очень толково. Одна проблема - где гарантии что старые версии не будут удалены, например, если забыл какое то время оплатить аккаунт?!
artcore Автор
Кажется, это работает как со всеми облачными сервисами, всё предусмотрено и данные не будут удаляться долгое время)