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

Martijn Vermaat's avatar
Martijn Vermaat committed
3
This is the website for the course *Code and data management with Git*. This
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.
Martijn Vermaat's avatar
Martijn 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
Martijn Vermaat's avatar
Martijn Vermaat committed
12
with colleagues easy ([introduction](http://doc.gitlab.com/ce/gitlab-basics/README.html)).
Martijn Vermaat's avatar
Martijn Vermaat committed
13 14


Martijn Vermaat's avatar
Martijn Vermaat committed
15
## Coordinates
16

Mihai's avatar
Mihai committed
17
In 2007 the course will be given on the following dates: 
18
6 September (10:30 - 17:00), 22 November (9:30 - 16:30). 
Mihai's avatar
Mihai committed
19 20

Details for the next session:
21
- Date: September 6th, 2017
Mihai's avatar
Mihai committed
22
- Time: 10:30 - 17:00
23
- Location: 01-J-01-084
24
- Teachers:
25
  - TBA
Mihai's avatar
Mihai committed
26
- Registration via www.medgencentre.nl. Direct access to the [registration form](https://forms.lumc.nl/lumc2/GITcourse).
Mihai's avatar
Mihai committed
27

28 29


Martijn Vermaat's avatar
Martijn Vermaat committed
30
## Program
31

Mihai's avatar
Mihai committed
32 33
Will be updated shortly. Please find below the program from the last course
session only as a guideline.
34

35 36
| Time  | Subject                                                                                | Teacher           | Contents                  |
| ----- | -----------------                                                                      | ----------------- | ------------------------- |
Jeroen F.J. Laros's avatar
Jeroen F.J. Laros committed
37
| 09:00 | [Introduction](/uploads/8d5bda06500f9aaa7c117aa6f4738667/introduction.pdf)             | Jeroen Laros      | Welcome, GitLab overview, SSH keys |
Jeroen F.J. Laros's avatar
Jeroen F.J. Laros committed
38
| 09:30 | [Practical](/uploads/61571e1506aab941a54a77bb35d4492d/introduction_handouts.pdf)       |                   |                           |
Jeroen F.J. Laros's avatar
Jeroen F.J. Laros committed
39
| 09:45 | [Git basics](http:bit.ly/1WlfXyj)                                                      | Wibowo Arindrarto | Basic Git command line fu |
Jeroen F.J. Laros's avatar
Jeroen F.J. Laros committed
40
| 10:30 | [Practical](/uploads/eb2e001db4f605a343e19d23d40e754f/basics_handouts.pdf)             |                   |                           |
41
| 11:00 | Coffee                                                                                 |                   |                           |
Jeroen F.J. Laros's avatar
Jeroen F.J. Laros committed
42
| 11:15 | [Git and remote repositories](/uploads/e1239f626e6c32a6c0bd915a0dc716ad/remotes.pdf)   | Martijn Vermaat   | Sharing and collaborating via GitLab |
43
| 12:00 | Lunch                                                                                  |                   |                           |
Jeroen F.J. Laros's avatar
Jeroen F.J. Laros committed
44
| 13:00 | [Practical](/uploads/dff8ad1b0f947d5866acdcdc70f3d673/remotes_handouts.pdf)            |                   |                           |
Martijn Vermaat's avatar
Martijn Vermaat committed
45 46
| 13:30 | [Data analysis](usecases/)                                                             | Szymon Kiełbasa   | More GitLab, Markdown, data analysis use case |
| 14:30 | Break                                                                                  |                   |                           |
Jeroen F.J. Laros's avatar
Jeroen F.J. Laros committed
47
| 14:45 | [Combining changes by merging](/uploads/8627b6a3fcdd655217b0ea56f0b93fd0/merging.pdf)  | Martijn Vermaat   | Commit graph, merging, resolving merge conflicts |
Jeroen F.J. Laros's avatar
Jeroen F.J. Laros committed
48
| 15:30 | [Practical](/uploads/9455ef406dfeb0e3c365c015965cd899/merging_handouts.pdf)            |                   |                           |
Martijn Vermaat's avatar
Martijn Vermaat committed
49
| 16:00 | Questions, closing                                                                     |                   |                           |
50 51 52 53 54 55


## Prerequisites

Affinity with the UNIX shell is required before taking the course. For
example, our
Mihai's avatar
Mihai committed
56
[Practical Linux Course](https://git.lumc.nl/courses/practical-linux-course)
Mihai's avatar
Mihai committed
57
is more than enough. In addition, you can find some nice 
Mihai's avatar
Mihai committed
58
[tutorials here](http://www.ee.surrey.ac.uk/Teaching/Unix/).
59 60 61

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
62 63
[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).
64 65 66 67 68 69 70 71

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

Martijn Vermaat's avatar
Martijn Vermaat committed
72
- [Code School - Try Git](https://try.github.io/) (you could even try this
73
  before the course)
Martijn Vermaat's avatar
Martijn Vermaat committed
74 75 76 77 78 79
- [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)
80 81 82 83
  (useful for printing)


## Past course dates
Martijn Vermaat's avatar
Martijn Vermaat committed
84

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

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


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

Martijn Vermaat's avatar
Martijn Vermaat committed
95 96 97 98 99 100 101 102 103 104
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
Martijn Vermaat's avatar
Martijn Vermaat committed
105 106 107 108 109 110
    git submodule init
    git submodule update

A new presentation can be added like this:

    cd presentation
111
    bash mkpres.sh ../mypresentation