README.md 4.71 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 20 21 22 23 24 25

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
26
## Coordinates
27

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

36

Martijn Vermaat's avatar
Martijn Vermaat committed
37
## Program
38

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

## Further reading

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


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

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

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


Martijn Vermaat's avatar
Martijn Vermaat committed
78
## Using the course materials
Martijn Vermaat's avatar
Martijn Vermaat committed
79

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

A new presentation can be added like this:

    cd presentation
96
    bash mkpres.sh ../mypresentation