A commit is a snapshot of the changes you’ve made to one or more files in a branch at a certain point in time. Commits are like a super save, because they have extra context: including a visual overview of the changes made in this commit, and space to write a message about what changed. Those commits are threaded together create the timeline of work happening in a branch.
Also, with commits, you no longer need to keep every single exploration in your Sketch file—it can balloon quickly! Instead, you can commit your explorations, keep the ones that deserve more time and energy, and delete the rest with confidence that every exploration is there for you in the commit history. You can always go back and pick up that idea and bring it forward. Thank you, commits.
This varies from person to person. You probably don’t need to commit as often as you save files, but we think it’s best to commit several times a day. Each time you shift gears on the work you’re doing, start a new exploration, organize/rename your work, or delete unwanted work, you should create a commit and write a message to go with it. Commits also become versions of the artboards and symbols they contain, so the more frequently you commit, the more detailed history you have of the work on these elements.
Good commit messages are concise and descriptive. They usually start with a few key verbs (updated, removed, fixed, added, and so on) and then list the names of the items where the work was done. Here are a few examples:
- Added second version of onboarding flow with photos
- Fixed copy on About page
- Updated banner on profile to match standards
- Created boilerplate wireframes for the delete flow
- Removed old modal explorations
Commits can also have an optional description to go along with the commit message. This is a great place for extra detail about your changes, or to mention your teammates if you are looking for feedback. The description also supports markdown, which is very good news if you like bulleted lists as much as we do.
There are a lot of advantages to a version control system, but here’s one we’re very excited about: you can now clean up after yourself in your Sketch file without losing the history of your work. One thing we’ve been doing is drawing a lot of design explorations while we’re working (both good and bad ideas!), committing them all, then going back and deleting the ones we feel clearly will not work, then committing again. Because we’ve created two commits–the older one with the bad ideas and the newer one with the good ideas–it means that we have a tidy file available for others to see, but still have all of our old explorations available for reference and discussion inside those commits.
We believe better design work happens by sharing the work with your team more frequently. All of your commits are visible to the whole team, but commits usually come in at a regular enough pace that most people will choose to wait to leave feedback until mentioned in a commit message or comment, or when they’re sent a link to the work in the assumption that what they are seeing is work in progress. Commit messages and comments are a great way to give teammates more context about the status of your work, too.
Whenever you’re ready for other people’s thoughts, it’s important to be able to point to specific parts of the design, and we’ve built ways to help you link to your work. Each commit and any edited files, pages, artboards, or symbols in that commit have shareable permalinks. We’ve also built a Slack integration to post recent commits or comments to a Slack channel of your choosing.