A Brief Introduction to Version Control
Date:
Improve your Laboratory
Think of the computer as a physicist would his laboratory–you may use it to check your existing ideas about the construction of the world, or as a tool for discovering new phenomena which then demand new ideas for their explanation.
- Tristan Needham in Visual Complex Analysis
It is my belief that version control will vastly improve the reach and efficiency of your laboratory. This page serves as a companion to a talk I am organizing to introduce version control. If you are new to version control I have compiled here my favorite resources and repositories. While I am not an expert in any of the mentioned tools I do recognize that they have provided tremendous value to my work and hope you find the same.
Before the Talk
- Make sure you have git running on your laptop. see instructions
- Brush up on how to use the command line. Here
Attend the Talk
Measuring Stick
- Watch this tutorial Start either at beginning or 15 minutes based on audience comfort.
- If the command line interface is not for you, try GitKraken: GitKraken Website
$watch -n 0.1 --color "git log --all --decorate --graph --color --abbrev-commit --pretty=short"
After Talk
- Look through the cool GitHub projects mentioned below.
- Read Chapter 1-3 and 7 of Pro Git.
- Write code and collaborate
- Watch intermediate tutorial
Cool GitHub Projects to Look At
Reference Resources
- Use the command:
$git <command of interest> --help
. - Pro Git.
- How to collaborate
- Resolve merge conflicts
Other Topics of Interest and GitHub Tools
- github Gist Example
git rebase -i
tig
git reflog
- gh CLI
- cherry-picking
Hot takes
- Windows Is aweful
- Stop using Matlab!!
- Vim is king
- Make less code comments