Ветки в Figma: как работать в branch, разрешать конфликты и мержить
В общем файле любая правка сразу видна всей команде. Это удобно, пока правка согласована.
Ветки дают пространство для экспериментов, не затрагивая основной файл.
Кому доступно
Документация прямо ограничивает аудиторию: ветки доступны на планах Organization и Enterprise и требуют Full seat.
Практика: если пункта с ветками нет в интерфейсе, дело не в настройках файла, а в плане или типе места. Это первое, что стоит проверить, прежде чем искать ошибку.
Что такое ветка
Документация: ветка — это контролируемая среда, в которой можно исследовать изменения дизайна, прототипов и библиотек, не редактируя оригинальный файл.
Внутри можно добавлять, изменять и удалять отдельные слои, компоненты и целые макеты. Figma отслеживает все изменения.
Практика: ветка — не копия файла. Это отдельная линия правок, которую потом можно свести с основным файлом.
Полный цикл
Документация описывает последовательность: создать → поделиться → получить обновления → запросить ревью → проверить → смержить → управлять.
Практика: шаг «получить обновления» пропускают чаще всего, и именно он вызывает конфликты на этапе слияния.
Запрос ревью
Документация: создатель ветки может запросить ревью у коллеги.
Проверяющий видит изменения рядом с основным файлом — по страницам и в сравнении «бок о бок» или наложением. Он может одобрить изменения, одобрить и смержить (если у него есть право редактирования основного файла) или предложить доработки.
Практика: комментарии, оставленные внутри ветки, при слиянии в основной файл не переносятся. Если замечание важно надолго, его стоит продублировать в задаче.
Обновления из main
Документация: если в основном файле что-то изменилось, Figma уведомляет ветки о доступных обновлениях.
Через меню рядом с именем файла выбирается Update from main…, затем просматривается список изменённых, добавленных и удалённых элементов и применяется кнопкой Apply changes.
Практика: выбрать отдельные изменения нельзя — применяются все. Поэтому обновляться лучше чаще: меньше накопится к моменту слияния.
Конфликты
Документация: если изменения затронули те же слои, которые правятся в ветке, появляются конфликты.
Для каждого конфликта есть выбор: оставить версию основного файла или версию ветки. Меню Resolve all позволяет применить один вариант сразу ко всем.
Практика: при массовом выборе «Pick branch» легко потерять чужие правки. Если в конфликте участвует чужой компонент, разумнее разобрать его вручную.
Слияние
Документация: для слияния открывается Review and merge changes в меню рядом с именем ветки.
Порядок: открыть ветку, раскрыть меню, выбрать пункт, при необходимости разрешить конфликты, нажать Merge.
После слияния ветка автоматически архивируется.
Практика: смержить можно только все изменения сразу — выборочного переноса нет.
Название и описание слияния
Документация: после мержа можно добавить имя и описание через Edit merge description. Они сохраняются в истории версий файла.
Практика: это единственное место, где остаётся след о том, зачем вносились правки. Стоит писать коротко и по делу — через месяц пригодится.
Ограничение по памяти
Нюанс, о котором узнают в самый неподходящий момент: при активном баннере лимита памяти Figma отключает пункт Review and merge changes.
Документация советует сначала снизить потребление памяти файла, а потом повторять попытку.
Практика: если кнопка слияния неактивна, ищите баннер, а не права доступа.
Незавершённые слияния
Документация описывает два типовых случая.
Обновления видны как конфликты снова. Значит, предыдущее обновление не завершилось. Варианты: повторить разрешение конфликтов или восстановить ветку на точку до неудачного обновления.
Изменения применились, но ветка не закрылась. Тогда ветку нужно заархивировать вручную.
Откат
Документация: если после мержа что-то пошло не так, можно восстановить предыдущую версию из истории.
В основном файле версия со слиянием помечена специальной иконкой, а перед ней есть чекпойнт «Before merge».
Практика: откат восстанавливает файл целиком на выбранную точку, а не отменяет отдельную правку. Всё, что было сделано после, тоже уйдёт.
Типичные ошибки
Работа без обновлений. Конфликты накапливаются.
Слияние без ревью в командном файле. Никто не видел изменений.
Ожидание выборочного мержа. Так нельзя.
Поиск кнопки при баннере памяти. Сначала освободить память.
Отсутствие описания. История версий превращается в набор безымянных точек.
Совместная работа и порядок мержей
Документация предупреждает: если над файлом работают несколько человек с ветками, мержи стоит координировать.
Практика: договоритесь о порядке заранее. Если две ветки трогают один компонент, вторая почти наверняка получит конфликт, и разбирать его придётся в спешке.
Простое правило: мержить чаще и меньшими порциями. Ветка, живущая неделю, накапливает изменения, которые уже никто не помнит.
Что делать с архивом
После слияния ветка уходит в архив, но остаётся доступной.
Практика: архив удобен как источник истории — можно открыть старую ветку и посмотреть, как выглядел макет до правок.
Восстановить архивную ветку тоже можно, если она понадобилась снова. Но помните: она будет содержать состояние на момент архивации.
Ветки и библиотеки
Документация упоминает, что в ветках можно менять библиотеки.
Практика: это удобно для проверки компонентов до того, как они попадут к остальным. Но при слиянии изменения библиотеки уедут в основной файл — и повлияют на все файлы, которые её используют.
Проверяйте такие правки особенно внимательно.
Итог
Ветки в Figma повторяют привычную логику работы с кодом: отдельная линия правок, ревью, слияние, история.
Практика: обновляйтесь из main до того, как конфликты накопятся; описывайте слияние; проверяйте баннер памяти, если кнопка недоступна. Тогда процесс не превращается в разбор чужих правок на скорость.
Что дальше
Освоив ветки, полезно разобраться с историей версий — она остаётся основным способом отката и для веток, и для основного файла.
FAQ
На каких планах доступны ветки?
Organization и Enterprise, при Full seat.
Можно ли смержить часть изменений?
Нет, применяются все изменения ветки.
Куда деваются комментарии из ветки?
Не переносятся в основной файл.
Почему недоступно слияние?
Возможно, активен баннер лимита памяти.
Как отменить слияние?
Восстановить версию из истории до чекпойнта «Before merge».