Newer
Older
This is the website for the course *Code and data management with Git*. This
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.
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
with colleagues easy ([introduction](http://doc.gitlab.com/ce/gitlab-basics/README.html)).
- Teachers:
- Jeroen Laros (j.f.j.laros@lumc.nl)
- Wibowo Arindrarto (W.Arindrarto@lumc.nl)
- Mihai Lefter (m.lefter@lumc.nl)
- Registration via www.medgencentre.nl
Will be updated shortly. Please find below the program from the last course
session only as a guideline.
| Time | Subject | Teacher | Contents |
| ----- | ----------------- | ----------------- | ------------------------- |
| 09:00 | [Introduction](/uploads/8d5bda06500f9aaa7c117aa6f4738667/introduction.pdf) | Jeroen Laros | Welcome, GitLab overview, SSH keys |
| 09:30 | [Practical](/uploads/61571e1506aab941a54a77bb35d4492d/introduction_handouts.pdf) | | |
| 09:45 | [Git basics](http:bit.ly/1WlfXyj) | Wibowo Arindrarto | Basic Git command line fu |
| 10:30 | [Practical](/uploads/eb2e001db4f605a343e19d23d40e754f/basics_handouts.pdf) | | |
| 11:15 | [Git and remote repositories](/uploads/e1239f626e6c32a6c0bd915a0dc716ad/remotes.pdf) | Martijn Vermaat | Sharing and collaborating via GitLab |
| 13:00 | [Practical](/uploads/dff8ad1b0f947d5866acdcdc70f3d673/remotes_handouts.pdf) | | |
| 13:30 | [Data analysis](usecases/) | Szymon Kiełbasa | More GitLab, Markdown, data analysis use case |
| 14:30 | Break | | |
| 14:45 | [Combining changes by merging](/uploads/8627b6a3fcdd655217b0ea56f0b93fd0/merging.pdf) | Martijn Vermaat | Commit graph, merging, resolving merge conflicts |
| 15:30 | [Practical](/uploads/9455ef406dfeb0e3c365c015965cd899/merging_handouts.pdf) | | |
## Prerequisites
Affinity with the UNIX shell is required before taking the course. For
example, our
[scripting course](https://humgenprojects.lumc.nl/trac/humgenprojects/wiki/scripting)
is more than enough, or you could go though
[tutorials 1-3 here](http://www.ee.surrey.ac.uk/Teaching/Unix/).
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).
We can also provide you with a laptop that has all the required software
installed. The lessons are interactive, meaning that you really need a
laptop.
## Further reading
- [Code School - Try Git](https://try.github.io/) (you could even try this
- [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)
- [Git tutorials at Atlassian](https://www.atlassian.com/git/tutorial)
- [Learn Git Branching](http://pcottle.github.io/learnGitBranching/)
- [Git cheat sheet](https://git.wiki.kernel.org/index.php/GitCheatSheet)
(useful for printing)
## Past course dates
- October 14th, 2013: Git introduction course
- June 23rd, 2014: Git introduction course
- December 1st, 2015: Code and data management with Git
- April 25th, 2016: Code and data management with Git
For corresponding snapshots of this repository, see [tags](https://git.lumc.nl/humgen/gitcourse/tags).
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:
git clone https://git.lumc.nl/humgen/gitcourse.git
cd gitcourse
git submodule init
git submodule update
A new presentation can be added like this:
cd presentation