README.md 4.52 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
course consists of an introduction to working with the
Mihai's avatar
Mihai committed
5
[Git](http://git-scm.com/) version control system for data analysis.
Martijn Vermaat's avatar
Martijn Vermaat committed
6

Martijn Vermaat's avatar
Martijn Vermaat committed
7 8 9 10
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
11
with colleagues easy ([introduction](http://doc.gitlab.com/ce/gitlab-basics/README.html)).
Martijn Vermaat's avatar
Martijn Vermaat committed
12 13


Mihai's avatar
Mihai committed
14 15
## Prerequisites

Mihai's avatar
Mihai committed
16
Affinity with the UNIX shell is required, which can be gained by attending our
Mihai's avatar
Mihai committed
17
[Practical Linux](https://git.lumc.nl/courses/practical-linux-course)
Mihai's avatar
Mihai committed
18
course.
Mihai's avatar
Mihai committed
19

Mihai's avatar
Mihai committed
20
Our facilites include PCs, but you can bring your own laptop if you prefer that.
Mihai's avatar
Mihai committed
21 22


Martijn Vermaat's avatar
Martijn Vermaat committed
23
## Coordinates
24

Mihai's avatar
Mihai committed
25
Details for the next session:
Mihai's avatar
Mihai committed
26
- Date: 14th of June, 2019
Mihai's avatar
Mihai committed
27
- Time: 9:00 - 15:00
Mihai's avatar
Mihai committed
28
- Location: J1-82
29
- Teachers:
Mihai's avatar
Mihai committed
30
  - Jonathan Vis
Mihai's avatar
Mihai committed
31
  - Mihai Lefter
Mihai's avatar
Mihai committed
32

33

Martijn Vermaat's avatar
Martijn Vermaat committed
34
## Program
35

36 37
| Time  | Subject                                                                                | Teacher           | Contents                  |
| ----- | -----------------                                                                      | ----------------- | ------------------------- |
Mihai's avatar
Mihai committed
38
| 09:00 | [Introduction](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/introduction.pdf)             | TBA      | Welcome and version control introduction. |
Mihai's avatar
Mihai committed
39
| 09:30 | [Git basics](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/basics.pdf) | TBA       | Basic Git command line flow |
40
| 10:15 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/basics_handouts.pdf)             |                   |                           |
Mihai's avatar
Mihai committed
41
| 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. |
42
| 11:45 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/commit_graph_handouts.pdf)             |                   |                           |
Mihai's avatar
Mihai committed
43
| 12:30 | Lunch                                                                                  |                   |                           |
Mihai's avatar
Mihai committed
44
| 13:30 | [Collaboration: remote repositories](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/remotes.pdf)   | TBA   | Sharing and collaborating via remotes. |
45
| 14:15 | [Practical](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/remotes_handouts.pdf)            |                   |                           |
Mihai's avatar
Mihai committed
46
| 15:00 | Questions, closing                                                                     |                   |                           |
47 48 49

## Further reading

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


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

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

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


Martijn Vermaat's avatar
Martijn Vermaat committed
75
## Using the course materials
Martijn Vermaat's avatar
Martijn Vermaat committed
76

Martijn Vermaat's avatar
Martijn Vermaat committed
77 78 79 80 81 82 83 84
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
85
    git clone https://git.lumc.nl/courses/gitcourse.git
Martijn Vermaat's avatar
Martijn Vermaat committed
86
    cd gitcourse
Martijn Vermaat's avatar
Martijn Vermaat committed
87 88 89 90 91 92
    git submodule init
    git submodule update

A new presentation can be added like this:

    cd presentation
93
    bash mkpres.sh ../mypresentation