Linux 2 - Intermediate Linux
Jaakko Leinonen, Juha Lento, Thomas Zwinger
2018-11-08

Software and revision control

Small intro to revision control with Git

Emphasis on concepts over details. Concretely, knowing concepts

What is revision control and what are Git and GitHub?

Let’s find out!

Why Git and Git repository servers?

What was it like before revision control, Git and remote repositories? Tarballs and directories with files in some state scattered in mailboxes and in various machines and user accounts?

* https://github.com
** https://bitbucket.org
*** https://version.helsinki.fi

What to put into a source repository?

Source code, of course!

What not to put into source code repository?

This keeps the repository small and quick to work with.

Local Git repository

The most important concepts are described in Git Basics*, especially the last section, “The Three Stages.”

What git command

Draw a picture!

A bonus exercise: commands that move files to opposite directions?

* https://git-scm.com/book/en/v2/Getting-Started-Git-Basics

The Three Stages

The Three Stages

Remote Git repository

Let’s just dive into it!

https://help.github.com

Config and Branches

Some first things to try:

Some pointers:

There’s plenty more good docs in the internet. Collect you own set!

Wrapping up

Find the commands that do the following tasks, and *draw a picture * (you can work together!):

Drawing the picture is most important. If you actually can do this now, you are pretty skilled in using git!

Merry-go-round

Upstream, fork, and local repo

Where next

Test: What is the difference between pull and fetch?


* https://coderefinery.github.io/git-intro
** https://coderefinery.org/workshops/2018-12-11-espoo