Skip to content
Snippets Groups Projects
README.md 4.33 KiB
Newer Older
Mihai Lefter's avatar
Mihai Lefter committed
# Code management with Git
Laros's avatar
Laros committed

Martijn Vermaat's avatar
Martijn Vermaat committed
This is the website for the course *Code and data management with Git*. This
Vermaat's avatar
Vermaat committed
course consists of an introduction to working with the
Mihai Lefter's avatar
Mihai Lefter committed
[Git](http://git-scm.com/) version control system for data analysis.
Vermaat's avatar
Vermaat committed

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


## Prerequisites

Mihai Lefter's avatar
Mihai Lefter committed
Affinity with the UNIX shell is required, which can be gained by attending our
[Practical Linux](https://git.lumc.nl/courses/practical-linux-course)
Mihai Lefter's avatar
Mihai Lefter committed
course.
Mihai Lefter's avatar
Mihai Lefter committed
Our facilites include PCs, but you can bring your own laptop if you prefer that.
Martijn Vermaat's avatar
Martijn Vermaat committed
## Coordinates
Mihai Lefter's avatar
Mihai Lefter committed
Details for the next session:
- Date: April 13, 2023 
- Time: 10:00
Mihai Lefter's avatar
Mihai Lefter committed
- Location: J-1-82
Vermaat's avatar
Vermaat committed
- Teachers:
Mihai Lefter's avatar
Mihai Lefter committed
  - Mihai Lefter
Mihai Lefter's avatar
Mihai Lefter committed
- Registration via www.medgencentre.com. Direct access to the
[registration form](https://forms.lumc.nl/lumc2/GITcourse).
Martijn Vermaat's avatar
Martijn Vermaat committed
## Program
Mihai Lefter's avatar
Mihai Lefter committed
| Time  | Subject          |  Contents                 |
| ----- | -----------------| ------------------------- |
| 10:00 | [Introduction](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/introduction.pdf)             | Welcome and version control introduction. |
| 10:30 | [Git basics](https://git.lumc.nl/courses/gitcourse/wikis/files-most-recent/basics.pdf) | 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)  | 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)   | 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

## Further reading

Vermaat's avatar
Vermaat committed
- [Code School - Try Git](https://try.github.io/) (you could even try this
Vermaat's avatar
Vermaat committed
  before the course)
Vermaat's avatar
Vermaat committed
- [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/tutorials)
Vermaat's avatar
Vermaat committed
- [Learn Git Branching](http://pcottle.github.io/learnGitBranching/)
- [Git cheat sheet](https://git.wiki.kernel.org/index.php/GitCheatSheet)
Vermaat's avatar
Vermaat committed
  (useful for printing)


## Past course dates
Vermaat's avatar
Vermaat committed

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

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


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

Martijn Vermaat's avatar
Martijn Vermaat committed
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
    git clone https://git.lumc.nl/courses/gitcourse.git
Martijn Vermaat's avatar
Martijn Vermaat committed
    cd gitcourse
Vermaat's avatar
Vermaat committed
    git submodule init
    git submodule update

A new presentation can be added like this:

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