Version Control with Git via GitHub#
As you write a computer program or any other document, it is important to be able to save your work. This includes
saving your work at intermediate stages
creating multiple versions, so that you can select the option that balances the goals of being elegant (easy-to-understand), approachable (easy-to-use), and efficient (requiring less resources).
editing files and groups of files collaboratively in a way that minimizes conflicts/inconsistencies and maximizes teamwork/accountability.
π₯ Learning Objectives#
Understand what version control is and why it is useful.
Understand what Git is and how to use Git via GitHub.
Know what a repository (repo) is, and how to use a repository for version control.
Understand the basics of GitHub Classroom.
Version Control: Git, GitHub, and GitHub Classroom#
Version control allows you to save your work, maintain multiple versions of the same document/program in repositories, and easily go back to old versions of the document/program (if you accidentally break it or decide that you made a bad decision). It is most effective when you save (i.e., commit) your work early and often with an informative comment about the changes you made. (That makes it easy to find exactly the version you want!) Version control is essential when multiple people work on a file (or group of files) at the same time: it keeps track of who made what changes to each file, and in cases where multiple people changed the same file at the same time in mutually incompatible ways, it flags these inconsistencies so that an informed choice can be made.
Click here to learn more about various types of version control.
In this course, we use web-based version control (specifically Git and GitHub) to share material. The goal is to make it easy to share material, revise and test assignments, and discuss course content. Specifically, the course will use:
Git for version control.
GitHub as a tool to manage our Git repositories online.
Consider uploading a profile picture or linking to a gravatar. This isnβt essential for using GitHub, but it is really useful to be able to have some memorable and distinguishing image for you rather than just the identicon. Donβt be scared to have fun with this! You can always change this later.
π©π½βπ» Assignment#
You will learn more about GitHub through the assignment. This includes a brief overview of GitHub terminology and links to the GitHub starter courses.
Suggestion#
Sign up for GitHub Education and especially the Student Developer Pack. This gives you access to a lot of free software and tools, plus a free domain name (and free web hosting of the domain for one year).
π References#
You can learn more about Git and GitHub via LinkedIn Learning Courses. I have listed one, but there are many.
Hat Tip: Farnaz Heidar-Zadeh of Queenβs University. This is adapted from her orientation notes in the QC-Edu Boot Camp.