Skip to content

Version Control

What is Version Control?

Version control is at it's basic, the practice of keeping track of changes to files. Have you ever had or still have files with names like FileName_rev1, FileName_rev2, FileName_final then you are practicing version control. A very crude version of it, but it is version control. This practice could leave you with tens or hundreds of files; also, it's not easy to tell differences between files or work in a collaborative environment.

As per Git:

Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

Why use a VCS (Version Control System)?

As noted above, having to keep many multiple files as you make changes to your doc is difficult to maintain. Tracking your changes across each file is impossible without having to open each file, reading through and comparing it to your current final version then repeating this process through as many other files you saved. See how this is already looking like a difficult mess to maintain and that is only on your ?

With a VCS system controlling your project, you have one set of individual files to maintain with a single timeline; this allows you to not only see who made changes and when, but also what changes were made to each individual file since each file in your VCS has it's own timeline.

As you can see, using a VCS like Git, allows you to have a clean project with single files that have their own individual timeline.

Why Git?

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.

While there is a wide selection of systems to choose from, Git is the more commonly used system today.

  • Git is a free and open source version control system.
  • Everything in git is checksummed with a SHA-1 hash before it is stored.

Git manages your files in a directory like structure called repositories and branches, the combination allows for granular timelines and ease for multiple people to work on the same file via git commits.


Last update: 2020-12-17