Version Control using Git
This workshop provides an introduction into Git in combination with the collaboration platform GitLab. The workshop curriculum is heavily based on:
Madicken Munk, Katherine Koziar, Katrin Leinweber, Raniere Silva, François Michonneau, Rich McCue, ... Wolmar Nyberg Åkerström. (2019, July). swcarpentry/git-novice: Software Carpentry: Version Control with Git. Zenodo. https://doi.org/10.5281/zenodo.3264950
Additionally, we included some extra episodes, particularly, to show the interplay of Git with GitLab.
Prerequisites
No special prior knowledge is required to participate in this workshop.
Setup
Please bring your laptop including a Web browser, a text editor, and a recent Git command line client.
Curriculum
- Using the Shell
-
Introduction to Version Control
Figures: "Final".doc
Extras: GitLab Cheat Sheet -
Setting up Git
Extras: Configure alternative editors -
Creating a Repository
Figures: Universal Missions -
Tracking Changes
Figures: Modify Add Commit Workflow, RECAP: Modify Add Commit Workflow
Exercises: Choosing a Commit Message, Committing Changes to Git -
Exploring History
Figures: Git Checkout Scheme, Git Staging Scheme
Exercises: Recovering older Version of a File, Understanding Workflow and History -
Ignoring Things
Exercises: Ignoring Nested Files, The Order of Rules - Conflicts
- Remotes in GitLab
- Collaboration with Others
Schedule
Time | Topic |
---|---|
Before the workshop | Setup |
09:00 - 09:30 | Welcome & Introduction |
09:30 - 12:30 | Git / GitLab Part 1 (episodes 1 to 7) |
12:30 - 13:30 | Lunch Break |
13:30 - 16:45 | Git / GitLab Part 2 (episodes 8 to 10) |
16:45 - 17:00 | Wrap Up & Feedback |
The actual schedule may vary slightly depending on the interests of the participants.
Further Readings
- Official Git Reference
- Flight Rules for Git
- First Aid Git
- Interactive Git Cheat-Sheet
- Martin Fowler: Patterns for Managing Source Code Branches
Contributors
Here you find the main contributors to the material:
- Tobias Schlauch
- Carina Haupt
- Michael Meinel
- Martin Stoffers
- Katrin Leinweber
Contributing
Please see the contribution guidelines for further information about how to contribute.
Changes
Please see the Changelog for notable changes of the material.
License
Please see the file LICENSE.md for further information about how the content is licensed.