Skip to main content Link Menu Expand (external link) Left Arrow Right Arrow Document Search Copy Copied

Workshop Introduction

What is Version Control?

Before we begin talking about Git, let’s talk about version control. Keeping track of changes and versions of things, whether they be books, files, software, projects, or just about anything, is known as version control. Although not recommended, version control can be done manually.

A folder full of different versions of the same file

Image credit: PhDComics | Image © jorge cham

Manual version control does create some problems.

  • Your work folder will get cluttered really quickly.
  • You may accidentally edit or overwrite the wrong file.
  • You may also develop a bad naming system for files.
  • It’s easier to forget or ignore.
  • It’s harder to keep track of which file has what changes.
  • How will this work for collaborative files?

Version control systems (like Git!) fix a lot of these problems. They automate a lot of the tedious parts of version control and they also provide a lot of tools to help with versioning. Some of the benefits of using a version control system include:

Collaboration
Provides easier ways to merge changes together in collaborative settings
Versioning
Automatically creates a rigorous log of all changes made, including the date, time, and author
Rolling Back
Allows users to revert back to a previous state in the project with ease
Backup
It’s also possible to use some version control systems as a method to backup projects

What is Git and GitHub?

Git and GitHub are often used interchangeably, however, they are different things.


Git logo

Git

Git is one of the most popular version control systems around. It’s used by big companies and individuals alike. Traditionally, Git is used in a command-line interface. However, many graphical interface tools based on Git have been created, providing an easier way for many to interact with Git. While these tools make it easier to use Git, using a command-line interface can usually give you more power than any graphical interface can.


GitHub logo

GitHub

GitHub, on the other hand, is a web service for using and sharing Git repositories that has a mixture of free and paid services. Some of these services include the creation of wikis, trouble ticket systems, and even web hosting. The majority of content on GitHub is open source software projects; however, it’s increasingly being used to host open data, books, journals, and websites. While GitHub is one of the more popular web services for Git, there are others, like GitLab, BitBucket, and Gitee.