Mini Course: Git

Mini Course: Git will ease you into the world of collaboration and version control for source code.

Git is a management system for software development written by Linus Torvalds (the guy who wrote Linux). It is extremely powerful, free, open-source and the most widely used source code management tool in the world. Completely worth learning if you are writing any form of code or even a paper with several collaborators. Being familiar with using the terminal is preferred. 

This course was already held three times before and, according to our follow up feedback requests, has been very useful to the people who took it. Please join it if you think you can make use of it!

Target audience

This course will be suitable for anyone and is highly recommended for anyone who writes code. Minimal knowledge of using a Unix terminal is preferable.

Teachers

The teachers will be Christopher Buckley and Christian Butcher (technicians) helped by Jeremie Gillet (). 

Program (Fourth edition,  November 2020)

There will be two lectures, with plenty of hands-on. 

Date Time Topic Lecturer
Thursday, November 19 1PM - 3PM Working on your own code Christopher
Thursday, November 26 1PM - 3PM Working in collaboration Christian

You can find all the material used for this edition on GitHub (obviously).

Program (Third edition,  August 2019)

The teachers were Stefano Pascarelli (PhD student) and Christian Butcher (technician). 

There will be two lectures, with plenty of hands-on, followed by a third, optional session where we will help you get started using git for your own existing codebase. 

Date Time Topic Lecturer
Tuesday, August 13 1PM - 3PM Working on your own code Stefano
Wednesday, August 14 1PM - 3PM Working in collaboration Christian
Thursday, August 15 1PM - 3PM (optional) Setting up your Git environment /

You can find all the material used for this edition on GitHub (very fittingly).

Program (Second edition,  July 2018)

This edtion was taught by James Schloss (PhD student) and Christian Butcher (technician). 

The program will be as such:

Date Time Topic Lecturer
Tuesday, July 10 10AM - 12PM Working on your own code Christian
Thursday, July 12 10AM - 12PM Working in collaboration James

See the program for the previous session for more details.

You can find all the material used for this edition on GitHub (very fittingly).

Program (First edition,  June 2016)

This edtion was taught by James Schloss and Valentin Churavy (PhD students) .

The program is as follows:

 

 

Topics

Commands

June 1

I

Intro, what is the problem Git solves?

 

5PM ~ 7PM

II

Quick Start, Working with local repos

init, status, commit, add, run, ignore, log

 

III

Working with GitHub, setup first repo, forking

 

 

IV

Working with remote repos

clone, pull, push

 

V

Staging

reset

 

VI

Pull requests, GUI

 

June 2

I

Merges, merge conflicts

 

5PM ~ 7PM

II

Branches/remote, Theory block

branch, remotes, checkout, cherry-pick

 

III

Merging, collaboration

merge

 

IV

Rebasing

push, rebase

 

V

Workflow

 

 

VI

SSH-Keys (if there is time)

 

You can find all the material used for this edition on GitHub (very fittingly).

More information

  • Location: B701, AKA Computer Lab, Lab 3.
  • Zoom link: if you prefer joining remotely, or if B701 exceeds 50% capacity, you can join using this link. Unfortunately, we won't be able to provide much help with the hands-on part via Zoom. 
  • What to prepare: please open an account on GitHub. With this account you will be able to get all the material for the course. No Dropbox this time!
  • What to bring: a laptop, with git already installed on it. If it isn't already installed (it should be for Mac and Linux), click here and follow the instructions. Windows users, please install GitHub Desktop on top of this so you can use the command lines in Git Shell (as detailed here). 
  • Using a Unix terminal:  if you have no experience with using a terminal, please read the material of the first session of Mini Course: Terminal or watch the YouTube version.
  • OIST GitHub (optional): OIST has an organisational GitHub account, which lets you create private repositories. If you like, you can get access here.
  • Drinks: There will be free coffee and tea, bring your cup!

If you would like to participate as a tutor or as a student, please answer the following webform. If you are interested but cannot attend the event, please enter the webform as well, we will contact you for any later occurrence of the course.

Thank you for your interest.

Have you used Git before? Are you familiar with using the Terminal?
Why are you interested in Git? Is there a particular thing you would like to learn?