README.md 5.17 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
Details for the next session:
Mihai's avatar
Mihai committed
18 19 20
- Date: December 7th, 2018
- Time: 9:00 - 15:00
- Location: J1-84
21
- Teachers:
Mihai's avatar
Mihai committed
22 23
  - Guy Allard
  - Mihai Lefter
Mihai's avatar
Mihai committed
24
- Registration via www.medgencentre.nl. Direct access to the [registration form](https://forms.lumc.nl/lumc2/GITcourse).
Mihai's avatar
Mihai committed
25

26

Martijn Vermaat's avatar
Martijn Vermaat committed
27
## Program
28

29 30
| Time  | Subject                                                                                | Teacher           | Contents                  |
| ----- | -----------------                                                                      | ----------------- | ------------------------- |
Mihai's avatar
Mihai committed
31 32
| 09:00 | [Introduction](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/introduction.pdf)             | Guy Allard      | Welcome, version control introduction |
| 09:30 | [Git basics](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/basics.pdf) | Guy Allard       | Basic Git command line flow |
33
| 10:15 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/basics_handouts.pdf)             |                   |                           |
Mihai's avatar
Mihai committed
34
| 11:00 | [The git commit graph](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/commit_graph.pdf)  | Mihai Lefter   | Commit graph, branching, merging, and resolving merge conflicts. |
35
| 11:45 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/commit_graph_handouts.pdf)             |                   |                           |
Mihai's avatar
Mihai committed
36
| 12:30 | Lunch                                                                                  |                   |                           |
Mihai's avatar
Mihai committed
37
| 13:30 | [Collaboration: remote repositories](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/remotes.pdf)   | Mihai Lefter   | Sharing and collaborating via remotes |
38
| 14:15 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/remotes_handouts.pdf)            |                   |                           |
Mihai's avatar
Mihai committed
39
| 15:00 | Questions, closing                                                                     |                   |                           |
40 41 42 43 44

## Prerequisites

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

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
51 52
[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).
53 54 55 56 57 58 59 60

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
61
- [Code School - Try Git](https://try.github.io/) (you could even try this
62
  before the course)
Martijn Vermaat's avatar
Martijn Vermaat committed
63 64 65
- [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)
Mihai's avatar
Mihai committed
66
- [Git tutorials at Atlassian](https://www.atlassian.com/git/tutorials)
Martijn Vermaat's avatar
Martijn Vermaat committed
67 68
- [Learn Git Branching](http://pcottle.github.io/learnGitBranching/)
- [Git cheat sheet](https://git.wiki.kernel.org/index.php/GitCheatSheet)
69 70 71 72
  (useful for printing)


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

Mihai's avatar
Mihai committed
74
- [September 12th, 2018](https://git.lumc.nl/courses/gitcourse/wikis/session-september-12th-2018)
Mihai's avatar
Mihai committed
75
- [March 29th, 2018](https://git.lumc.nl/courses/gitcourse/wikis/session-march-29th-2018)
Mihai's avatar
Mihai committed
76
- [November 22nd, 2017](https://git.lumc.nl/courses/gitcourse/wikis/session-november-22nd-2017)
Mihai's avatar
Mihai committed
77
- [September 6th, 2017](https://git.lumc.nl/courses/gitcourse/wikis/session-september-6th-2017)
Martijn Vermaat's avatar
Martijn Vermaat committed
78 79
- October 14th, 2013: Git introduction course
- June 23rd, 2014: Git introduction course
80
- December 1st, 2015: Code and data management with Git
81
- April 25th, 2016: Code and data management with Git
Martijn Vermaat's avatar
Martijn Vermaat committed
82

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


Martijn Vermaat's avatar
Martijn Vermaat committed
86
## Using the course materials
Martijn Vermaat's avatar
Martijn Vermaat committed
87

Martijn Vermaat's avatar
Martijn Vermaat committed
88 89 90 91 92 93 94 95
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:

Mihai's avatar
Mihai committed
96
    git clone https://git.lumc.nl/courses/gitcourse.git
Martijn Vermaat's avatar
Martijn Vermaat committed
97
    cd gitcourse
Martijn Vermaat's avatar
Martijn Vermaat committed
98 99 100 101 102 103
    git submodule init
    git submodule update

A new presentation can be added like this:

    cd presentation
104
    bash mkpres.sh ../mypresentation