Week 7: Version Control

As we approach our second, and final, Rapid Ideation challenge of the module, we look at Version Control and how it can be used to allow room for experiment and creativity without over complicating saving processes and allowing errors to occur.

My experience of a formal version control system such as GIT is almost non-existent, though in my practice as a designer I am always saving work into many drafts and versions. I understand this is time consuming, but many times i’ve made so many changes that it is very difficult to go back and undo without losing a few steps that you might want to keep. Usually with a design on Illustrator I would select all, copy to clipboard and then undo until I get to the required stage, then I copy the saved artwork, select the bits I want to keep and carry on. This is very time consuming, and open to errors (though I have become a master of it). I appreciate that this is fine for design work (Photoshop even has a build in tool for version control), however I can imagine that this is not the best method when working with coding for example.

Version Control System

VCS is very useful because it also supports a collaborative framework that makes it easy for software developers to work together effectively’ (Nazatul Nurlisa Zolkifli, 2018)

Using a version control system such as GIThub, one can easily set up an online repository where all files from the system can be housed. This can then be cloned onto a location on your machine and from this point, any changes made by from my machine will be tracked and updated on the repository.

GIT also allows your to commit changes made during development to your local repository, and offers the the user the ability to keep a commentary of what changes were made. Once a change has been finalised, the opportunity to ‘push’ this version means that this now gets added to the online repository. This is most useful when working in a team, as this version can then be ‘pulled’ by another developer to work on, moving it onto their local system.

Most useful is the ability to make a ‘branch’ of a version. This is an independent copy. This allows a user to work on a project from a specific point whilst keeping the original version intact at the last point of commit. It allows multiple users to work on the same project without creating conflict, and minimising risk when implementing modifications that could damage the entire artefact. If work on a branch is successful then GIT allows it to be merged either with another branch, or the master copy.

The final tool of GIT is called Revert to Commit. Like the History tool in Photoshop, this allows the user to revert back to a previous version with a simple click of a button.

I’m very keen to explore using a version control system in my next RI project. I will probably be working independently, so may not see all the benefits, but I think it will be a useful tool to put into practice at the next opportunity.

Version Control Systems

Whilst we are advised in the first instance to use GIThub and the GIThub desktop client, there are alternative systems on the market with different features and interfaces. Over the next week I intend to research some of these other alternatives to figure out which is the best platform for my purpose and ways of working.

Thoughts

Having read blog posts by some of my peers, I am slightly nervous and a little excited about using GIThub. As I mentioned before, I have used my own long winded ways of saving versions of work, but this is coming from a design and illustration background. I intend to go all in and at least try to use a version control system for the RI2 session. Everything new can be daunting, but i’m sure once I am more familiar with it, I will find it second nature.

References

Nazatul Nurlisa Zolkifli, Amir Ngah, 2018. ‘Version Control System: A review’ [Online] Available at <https://www.sciencedirect.com/science/article/pii/S1877050918314819/> Accessed on (23 July 2021)

Previous
Previous

Week 8: Research & Ethics

Next
Next

Week 6: Prototyping “& Baby”