Have you simply had enough of playing spot the difference with new versions of every design? Our brand new app, Versions (beta), is like Git for design files.
With this new web and desktop app, not only will your entire design team (+ stakeholders) be able to work from the same design file, making their own changes before merging them into the master version, but they'll be able to visually inspect and confirm those changes before committing them. With this single source of truth, you'll never have to worry about conflicts and "who has the most recent design?" fiascos ever again. Let's see how it works.
Starting a New Project
Click "Add Project" to begin.
Give it a name, a description, and choose the folder where your design lives (note: Versions is only compatible with Sketch for now). Click "Create Project" to continue.
Now this design exists in our Versions dashboard.
From here we can sort designs by Date or Name, or...
- Reveal Project in Finder
- Open Project in Browser
- Share Project
- Remove Project
- Sync Changes (should we make any)
Click Reveal Project in Finder (finder icon).
Once the Finder opens, you'll see that the .sketch file in the folder has a question mark next to it. This is because the .sketch file hasn't yet been committed to the repository.
Right-click the file and choose "Add file".
Versions will then ask you to submit a description of what's changed in this version, although since we're only adding the file at this stage, something like "Initial commit" will do fine for now.
Hit "Sync Changes" when you're done.
Any files being uploaded to the repository will appear on the right, and at the same time, any files that you don't yet have will appear on the left, and will be downloaded to your version.
In Finder, the icon will now have a blue checkmark.
Versions integrates with macOS natively. If you click the Versions icon in Finder, you'll notice all of the options from the Versions dashboard are listed here as well (Remove Project, et cetera). There's also an "Add New Sketch Document" option, which creates a blank .sketch file.
Make a change in Sketch—any change.
After that, you'll notice a yellow warning called "Sync modifications" at the bottom of the Sketch window. Click this to sync the new change to the repository.
Versions will open up the sync window again.
Click the "Inspect Changes" button.
Versions will now confirm what's changed by showing you a visual diff of the two versions side-by-side. Check the "Show all Properties" checkbox to see the settings and styles that have been changed. If you're happy with it, click "Back to Sync" and commit once more. Don't forget to leave a note about what's changed, so others know.
If you'd like to create an entirely new branch to work on, click the "+" icon from the Versions dashboard. You might want to do this if you're working on a bug fix or new feature, and you want to changes to be entirely limited to your version until you're ready to merge them with the master version. We wouldn't want things to go badly wrong, would we? Give the branch a name like "new-feature" (this name must consist of alphanumerics, dashes and underscores).
Switching and Merging Branches
Click the "new-feature" tag/branch (or whatever you called the branch) from the Versions dashboard. From here you can switch to another branch, including the master branch.
If you select another branch and then choose "Merge into Master", the changes from said branch will then merge into the master, and other teammates will now be able to work on versions with those changes. When you switch between branches, the Sketch canvas will automatically update to reflect this. You can delete a branch once you're done with it.
(you don't have to)
Even though the web interface is mostly the same as the desktop interface, there are a couple of additional features you'll need to be aware of (especially as a manager).
Click "Invite Collaborators" under Members to invite designers and stakeholders (make sure to give them the right Permissions, where the options are "Read", "Write" and "Admin").
"Settings" will let you change the name and description.
"Commits" will list all the syncs that have happened, along with what changed in each sync (once again, it'll show the visual diff side-by-side, as well as list the styles that were changed).
We're still working really hard to make Versions awesome.
If you have any feedback, comments or criticisms, drop us a line on Twitter!