Course Overview
This course is full of energy and aimed at people with little or no understanding of git basics and want a more confidence and a deeper knowledge of this area. This course is highly recommended if you want to advance beyond the typical "edit-add-commit".
Course Prerequisites
Students should be familiar with general software development principles.
Outline
This course provides students with a thorough overview of working with GIT on a project. The course covers day-to-day usage as well as advanced topics.
Introduction, Principles and Fundamentals
- GIT installation and configuration
- Using GIT as a "Server"
- Git as a Directed Acyclic Graph (DAG) of commits.
- Difference between HEAD, index and working tree
Day to Day Git
- Developer's day-to-day GIT
- Crafting commits
- Understanding Branching and Merging (and how they differ from other VCs)
- Sharing your work
- Cloning
- Understanding Remotes
- Understand Fetching and Pushing
Git in a Team
- Different GIT collaboration strategies
- Discuss various GIT Workflows
Advanced Topics
- reverting your work
- Resetting: soft, mixed and hard
- Stashing your work
- (No-)fast-forward merge
- Rewriting history: Why? When? DOs and DON'Ts
- Amending commits
- Rebasing
- Interactive rebase
- Force push
- Unreachable commits and the reflog
- Garbage collection
- Bisecting
Frequently asked questions
How long is the Git for Developers course?
1 day, on-site. Sessions can run on consecutive days or be spread out to fit your team's schedule.
What are the prerequisites?
Students should be familiar with general software development principles.
How large are the groups?
Deliberately small so the trainer can adapt to every participant: at most 10 on-site and 7 online.