README.md 4.88 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


Mihai's avatar
Mihai committed
15 16 17 18 19 20 21 22 23 24 25 26 27
## Prerequisites

Affinity with the UNIX shell is required. For this reason is mandatory to
follow our
[Practical Linux](https://git.lumc.nl/courses/practical-linux-course)
course before.

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
[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).


Martijn Vermaat's avatar
Martijn Vermaat committed
28
## Coordinates
29

Mihai's avatar
Mihai committed
30
Details for the next session:
Mihai's avatar
Mihai committed
31
- Date: 15th of March, 2019
Mihai's avatar
Mihai committed
32
- Time: 9:00 - 15:00
Mihai's avatar
Mihai committed
33
- Location: J1-84
34
- Teachers:
Mihai's avatar
Mihai committed
35
  - Jonathan Vis
Mihai's avatar
Mihai committed
36
  - Mihai Lefter
Mihai's avatar
Mihai committed
37
- Registration via www.medgencentre.nl. Direct access to the [registration form](https://forms.lumc.nl/lumc2/GITcourse).
Mihai's avatar
Mihai committed
38

39

Martijn Vermaat's avatar
Martijn Vermaat committed
40
## Program
41

42 43
| Time  | Subject                                                                                | Teacher           | Contents                  |
| ----- | -----------------                                                                      | ----------------- | ------------------------- |
Mihai's avatar
Mihai committed
44 45
| 09:00 | [Introduction](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/introduction.pdf)             | TBA      | Welcome, version control introduction |
| 09:30 | [Git basics](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/basics.pdf) | TBA       | Basic Git command line flow |
46
| 10:15 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/basics_handouts.pdf)             |                   |                           |
Mihai's avatar
Mihai committed
47
| 11:00 | [The git commit graph](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/commit_graph.pdf)  | TBA   | Commit graph, branching, merging, and resolving merge conflicts. |
48
| 11:45 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/commit_graph_handouts.pdf)             |                   |                           |
Mihai's avatar
Mihai committed
49
| 12:30 | Lunch                                                                                  |                   |                           |
Mihai's avatar
Mihai committed
50
| 13:30 | [Collaboration: remote repositories](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/remotes.pdf)   | TBA   | Sharing and collaborating via remotes |
51
| 14:15 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/remotes_handouts.pdf)            |                   |                           |
Mihai's avatar
Mihai committed
52
| 15:00 | Questions, closing                                                                     |                   |                           |
53 54 55

## Further reading

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


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

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

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


Martijn Vermaat's avatar
Martijn Vermaat committed
81
## Using the course materials
Martijn Vermaat's avatar
Martijn Vermaat committed
82

Martijn Vermaat's avatar
Martijn Vermaat committed
83 84 85 86 87 88 89 90
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
91
    git clone https://git.lumc.nl/courses/gitcourse.git
Martijn Vermaat's avatar
Martijn Vermaat committed
92
    cd gitcourse
Martijn Vermaat's avatar
Martijn Vermaat committed
93 94 95 96 97 98
    git submodule init
    git submodule update

A new presentation can be added like this:

    cd presentation
99
    bash mkpres.sh ../mypresentation