README.md 4.5 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 27
- Date: 11th of September, 2019
- Time: 9:00 - 15:00
Mihai's avatar
Mihai committed
28
- Location: J1-84
29
- Teachers:
Mihai's avatar
Mihai committed
30
  - TBA
Mihai's avatar
Mihai committed
31

32

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

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

## Further reading

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


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

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

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


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

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

A new presentation can be added like this:

    cd presentation
92
    bash mkpres.sh ../mypresentation