Versioning with Branches

Hello,
I’m considering using branches as a way to version when handing off designs. In theory each branch would correspond to a sprint. Jira would contain links to that branch. When designs are approved, I would merge. Then a new branch for the next sprint….rinse and repeat.
However there would be an issue if a branch was merged and it needed to be edited and merged once more. My understanding is that once a branch is merged, it is archived and can’t be “active” again. For example if there were a typo or an input field that needed to be a calendar picker it can’t be done post merge.
Are folks using branches in this way? If so how are you working around editing the branch after a merge?
Thanks in advance

1 Like

My team is also hoping to use branches in a similar way. We would ideally create a branch for each User Story and merge when the story is marked as Done. However, as everyone knows, a design is never truly “done” and we always have to go back to tweak things to match the realities of development, late stakeholder feedback, user testing results, etc, so it would be great to have some more fine grained control over when a branch is archived and work officially stops on it.

I did some testing and it looks like you can go in and “Restore” an Archived branch to the Active state. I tried this and could edit the branch again, but it put the branch in a weird state where I had to update every screen from “Main” even though they were all identical due to the merge. Is this a bug? Figma seems pretty good at recognizing when a branch has been changed or is out of date otherwise.

In conclusion, the Merge then Restore branch workflow seemed to do what we needed but there are some issues to work out.

What went well

  • Main is updated with changes from the branch and the branch is Active again for me to continue iterating as needed.

What needs improvement

  • It took a lot of work to make this happen. I would expect more control over when the branch is archived - perhaps an option to “Archive branch” on the Review merge screen to better support this workflow?
  • Restoring the branch immediately made the whole branch out of date with Main. I would only expect this to happen if there were actually changes that needed to be resolved, but the two branches were identical.