README.md 4.59 KB
Newer Older
Mihai Lefter's avatar
Mihai Lefter committed
1
# Code management with Git
Laros's avatar
Laros committed
2

Martijn Vermaat's avatar
Martijn Vermaat committed
3
This is the website for the course *Code and data management with Git*. This
Vermaat's avatar
Vermaat committed
4
course consists of an introduction to working with the
Mihai Lefter's avatar
Mihai Lefter committed
5
[Git](http://git-scm.com/) version control system for data analysis.
Vermaat's avatar
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
Vermaat's avatar
Vermaat committed
11
with colleagues easy ([introduction](http://doc.gitlab.com/ce/gitlab-basics/README.html)).
Vermaat's avatar
Vermaat committed
12
13


Mihai Lefter's avatar
Mihai Lefter committed
14
15
## Prerequisites

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

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


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

Mihai Lefter's avatar
Mihai Lefter committed
25
Details for the next session:
Mihai Lefter's avatar
Mihai Lefter committed
26
27
28
- Date: TBA
- Time: TBA
- Location: TBA
Vermaat's avatar
Vermaat committed
29
- Teachers:
Mihai Lefter's avatar
Mihai Lefter committed
30
  - Mihai Lefter
Mihai Lefter's avatar
Mihai Lefter committed
31
32
- Registration via www.medgencentre.com. Direct access to the
[registration form](https://forms.lumc.nl/lumc2/GITcourse).
Vermaat's avatar
Vermaat committed
33

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

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

## Further reading

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


## Past course dates
Vermaat's avatar
Vermaat committed
63

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

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


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

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

A new presentation can be added like this:

    cd presentation
Vermaat's avatar
Vermaat committed
94
    bash mkpres.sh ../mypresentation