Skip to end of metadata
Go to start of metadata

Abstract

All of our work lives in Abstract, and each extension has a separate Abstract Project to keep it nice and tidy.

Branching

Abstract doesn't allow for editing files directly in Master. Of course, this is to protect the main files, as it forces designers to create a branch from Master in order to work in a separate, safe, environment.

The usual question is – at which level of granularity should my branch be? For example, let's say that you have a task to design an entire UI Kit. If you create a branch with a goal to do this entire large piece of work in that branch, it might take far too long of a time for you to do this work. It might be weeks or even months before this task is done. Therefore, it's better to think how could you split up this work into smaller, more manageable chunks of work, and use those as a branch. A good branch would be "Input Fields", and you just work on those. Once you are done, you can Commit that work, and then merge it to Master. That way, all of the other designers will have access to that particular piece of work, while you work on the next chunk. Why have everyone wait for you to be completely done with large piece of work, when there is value added even with smaller chunks.

A good rule to go by is this: imagine you are a reviewer of a branch that is about to be merged into Master. What's the amount of work you could quickly review, and approve? If the branch contains just some input fields, it's possible to quickly check the work. Check paddings, colours, fonts, and approve it. But imagine someone sent you an entire UI Kit for a review, with dozens of controls, inter-dependent symbols, etc. It would take you days to go through all of that.

Committing 

In general, you should commit from Sketch to Abstract quite regularly, perhaps a few times per day. Treat committing as a more powerful save function. It just pushes your work into Abstract cloud, into the branch you are working on. Committing into your branch doesn't automatically push those changes all the way up to Master. It just safely stores the work you did into the cloud, in your branch.

Merge to Master

As the work you are doing is small enough, as discussed above in Branching, we should aim to merge to Master once every week. Of course, if possible, you could do it even more frequently, but aim to at least do it every Thursday. That day was picked as it gives enough time during the week to work, merge on Thursday, and if something went wrong there's always Friday to fix it. That's why nobody merges stuff on Friday, and leaves for the weekend!

  • No labels