We don’t need “git like” functionality in figma - git already does that. What we need is the ability to use git itself within figma and to integrate and connect with tools like gitlhub, gitlab, and bitbucket. Figma could use git in such a way - at a fundamental level - that you are able to use actual git from within figma (pushing, pulling, cloning, branching, merging… all of it) just like an IDE integrates with git and allows you to work with it from within the IDE. Figma doesn’t need to replace git. Git does a wonderful job of version control already; and, frankly, having figma do something like it would just add more tools that do the same thing to the workflow. In addition, your project would become split between the two tools and you would be separating parts of the team from one another as a result. By integrating git into figma you could keep all stages \ phases of your SDLC in one place → git - and work with one tool for all of it. By keeping figma projects in a git repository you could either make a dedicated branch in git for “design” or a repository of it’s own. Either way you would also then have all the stuff that comes with the repository (issues, boards, kanban, scrum, wiki, all of it). Let git do what it does best and figma do what it does best and combine the two. That scenario increases what both tools are able to do exponentially!
PS: Then people could start making plugins for your IDE that would allow you to work with figma (if even in a limited sense) in your IDE - integrating git with figma would open up that possibility.
Examples:
- It would open up the possibility for a plugin to bring the properties and css stuff from a figma project directly into your IDE using a plugin via the figma in your git repository.
Here’s what a workflow with figma / git integration might look like…
- You create a repository for your entire project in github, gitlab, or bitbucket for your entire team (not just the designers but the devs and everyone else too).
- You create a branch in that repository either directly from within figma or through your IDE, the command line, or your cloud or self hosted management application of choice (github, gitlab, or bitbucket in this example) and then pull the branch into figma - either way.
- You work in figma on that branch being able to use full git functionality right in figma (or do manipulations on the branch outside of figma in your IDE or management application of choice) and have that reflected.
- You push changes to your branch directly to upstream from figma (the same way you would for code with your IDE).
- You pull changes down from upstream to sync your branch with the rest of your team (figma still has its full team functionality which is needed - there is no cross over).
- When you finish a project in figma you can archive it (leave it upstream and take it out of active status - out of availability) in figma.
- If you need to work on the design aspect of that project again in the future you unarchive it or pull it back into figma (thus keeping your active projects in figma limited to just what you need).
- All the while your entire team is able to connect all the other functionality of your repository management system with the design part of the project allowing other non-design members of your team to interact with the design (such as boards / project management features of github, gitlab, bitbucket for the pm members of the team, wiki for documentation, issues for review and feedback, etc)
- Then, when the design is finalized, the properties of the project get pulled into your IDE through a plugin in your IDE - from the figma content in the repository - right where it is needed so development can access it right in the IDE.
All because of integration with an existing, robust system that has robust features in it’s own lane.