README.md 5.53 KB
Newer Older
Martijn Vermaat's avatar
Martijn Vermaat committed
1
# Code and data management with Git
Laros's avatar
Laros committed
2

Martijn Vermaat's avatar
Martijn Vermaat committed
3
This is the website for the course *Code and data management with Git*. This
Vermaat's avatar
Vermaat committed
4
5
6
course consists of an introduction to working with the
[Git](http://git-scm.com/) version control system for data analysis and is
aimed primarily at researchers in the LUMC.
Vermaat's avatar
Vermaat committed
7

Martijn Vermaat's avatar
Martijn Vermaat committed
8
9
10
11
The Git system is widely used by software developers, but can also be used for
project management. In the LUMC we use [GitLab](https://git.lumc.nl) as a
collaborative environment on top of Git. By keeping track of all versions,
history, etc, GitLab makes your projects more reproducible and collaboration
Vermaat's avatar
Vermaat committed
12
with colleagues easy ([introduction](http://doc.gitlab.com/ce/gitlab-basics/README.html)).
Vermaat's avatar
Vermaat committed
13
14


Martijn Vermaat's avatar
Martijn Vermaat committed
15
## Coordinates (preliminary!)
Vermaat's avatar
Vermaat committed
16
17

- Date: April 25th, 2016
Vermaat's avatar
Vermaat committed
18
- Time: 9:00 - 17:00
Vermaat's avatar
Vermaat committed
19
- Location: 02-T-00-008
Vermaat's avatar
Vermaat committed
20
21
22
23
- Teachers:
  - Martijn Vermaat (m.vermaat.hg@lumc.nl)
  - Jeroen Laros (j.f.j.laros@lumc.nl)
  - Wibowo Arindrarto (W.Arindrarto@lumc.nl)
Szymon M. Kiełbasa's avatar
Szymon M. Kiełbasa committed
24
  - Szymon M. Kiełbasa (S.M.Kielbasa@lumc.nl)
Martijn Vermaat's avatar
Martijn Vermaat committed
25
- Registration: Martijn Vermaat (m.vermaat.hg@lumc.nl)
Vermaat's avatar
Vermaat committed
26
27


Martijn Vermaat's avatar
Martijn Vermaat committed
28
## Program (preliminary!)
Vermaat's avatar
Vermaat committed
29

Vermaat's avatar
Vermaat committed
30
31
32
33
This year the contents will be slightly less advanced on the technical side
(no branching, no git-annex). Instead, there is more focus on using the LUMC
GitLab server and using Git for data analysis projects.

34
35
36
37
38
| Time  | Subject                                                                                | Teacher           | Contents                  |
| ----- | -----------------                                                                      | ----------------- | ------------------------- |
| 09:00 | [Introduction](/uploads/c16e25cadec825ca79a768825f5e64a2/introduction.pdf)             | Jeroen Laros      | Welcome, GitLab overview, SSH keys |
| 09:30 | [Practical](/uploads/59500f585b0b5f06ce4464375f2104a9/introduction_handouts.pdf)       |                   |                           |
| 09:45 | [Git basics](http://bit.ly/lumc_git_basics)                                            | Wibowo Arindrarto | Basic Git command line fu |
Vermaat's avatar
Vermaat committed
39
| 10:30 | [Practical](/uploads/5590b3f6eb6976d92b4d153b906543b3/basics_handouts.pdf)             |                   |                           |
40
| 11:00 | Coffee                                                                                 |                   |                           |
Vermaat's avatar
Vermaat committed
41
| 11:15 | [Git and remote repositories](/uploads/fae0409963d991c25221843288ed3368/remotes.pdf)   | Martijn Vermaat   | Sharing and collaborating via GitLab |
42
| 12:00 | Lunch                                                                                  |                   |                           |
Vermaat's avatar
Vermaat committed
43
| 13:00 | [Practical](/uploads/bd5d6574d2534d3a7afaf3d43bf70aaf/remotes_handouts.pdf)            |                   |                           |
Martijn Vermaat's avatar
Martijn Vermaat committed
44
| 13:30 | [Combining changes by merging](/uploads/af01008ba3e6f2c0e1742dc292690e22/merging.pdf)  | Martijn Vermaat   | Commit graph, merging, resolving merge conflicts |
Vermaat's avatar
Vermaat committed
45
| 14:15 | [Practical](/uploads/b9649d50b3146eaf4632efc80f143f54/merging_handouts.pdf)            |                   |                           |
46
47
48
| 14:45 | Break                                                                                  |                   |                           |
| 15:00 | [Data analysis](usecases/)                                                             | Szymon Kiełbasa   | More GitLab, Markdown, data analysis use case |
| 16:00 | Questions, drinks                                                                      |                   |                           |
Vermaat's avatar
Vermaat committed
49
50
51
52
53
54
55
56
57
58
59
60


## Prerequisites

Affinity with the UNIX shell is required before taking the course. For
example, our
[scripting course](https://humgenprojects.lumc.nl/trac/humgenprojects/wiki/scripting)
is more than enough, or you could go though
[tutorials 1-3 here](http://www.ee.surrey.ac.uk/Teaching/Unix/).

We encourage you to bring your own laptop, but make sure it has a terminal and
[Git](http://git-scm.com/) installed. We work with
Martijn Vermaat's avatar
Martijn Vermaat committed
61
62
[Linux](http://en.wikipedia.org/wiki/Linux), but Git also runs on Mac OSX.
Windows is not ideal, but here are [some suggestions](WINDOWS.md).
Vermaat's avatar
Vermaat committed
63
64
65
66
67
68
69
70

We can also provide you with a laptop that has all the required software
installed. The lessons are interactive, meaning that you really need a
laptop.


## Further reading

Vermaat's avatar
Vermaat committed
71
- [Code School - Try Git](https://try.github.io/) (you could even try this
Vermaat's avatar
Vermaat committed
72
  before the course)
Vermaat's avatar
Vermaat committed
73
74
75
76
77
78
- [The entire Pro Git book](http://git-scm.com/book) on the official [Git
  website](http://git-scm.com/)
- [Ry's Git Tutorial](http://rypress.com/tutorials/git/index.html)
- [Git tutorials at Atlassian](https://www.atlassian.com/git/tutorial)
- [Learn Git Branching](http://pcottle.github.io/learnGitBranching/)
- [Git cheat sheet](https://git.wiki.kernel.org/index.php/GitCheatSheet)
Vermaat's avatar
Vermaat committed
79
80
81
82
  (useful for printing)


## Past course dates
Vermaat's avatar
Vermaat committed
83

Martijn Vermaat's avatar
Martijn Vermaat committed
84
85
- October 14th, 2013: Git introduction course
- June 23rd, 2014: Git introduction course
Vermaat's avatar
Vermaat committed
86
- December 1st, 2015: Code and data management with Git
Vermaat's avatar
Vermaat committed
87
- April 25th, 2016: Code and data management with Git
Vermaat's avatar
Vermaat committed
88

Martijn Vermaat's avatar
Martijn Vermaat committed
89
For corresponding snapshots of this repository, see [tags](https://git.lumc.nl/humgen/gitcourse/tags).
Vermaat's avatar
Vermaat committed
90
91


Martijn Vermaat's avatar
Martijn Vermaat committed
92
## Using the course materials
Vermaat's avatar
Vermaat committed
93

Martijn Vermaat's avatar
Martijn Vermaat committed
94
95
96
97
98
99
100
101
102
103
There is one [Git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules)
on which this repository depends:

- **[presentation](https://git.lumc.nl/j.f.j.laros/presentation)** template for
  presentations in LaTeX.

First clone this repository, then fetch the data from the submodule:

    git clone https://git.lumc.nl/humgen/gitcourse.git
    cd gitcourse
Vermaat's avatar
Vermaat committed
104
105
106
107
108
109
    git submodule init
    git submodule update

A new presentation can be added like this:

    cd presentation
Vermaat's avatar
Vermaat committed
110
    bash mkpres.sh ../mypresentation