Monday
Room 2
09:00 - 17:00
(UTC+02)
2 Days
Git Beyond Push & Pull
Version control, which today is almost synonymous with git, is a centrepiecein the programmer toolkit. It is everywhere, from small solo projects, to infrastructure, to massive code bases with thousands of contributors. Unfortunately, it is often only used as a fast copy-and-sync interface to the shared code base, and many powerful features are left unused. Git is an amazing tool, but it can be daunting, and getting beyond the basics is hard. Thankfully, there is a payoff, and being more familiar with git will supercharge you.
This practical course will demystify some very useful operations with git, give you some good habits that set you up for success, and prepare you for solving complex problems.
With the power of examples, stories, and exercises you will learn about and get experience with topics and features like:
* The art of good commits
* Effective git log: search, queries, diffs
* Making use of the staging area
* Mastering merges: conflict resolution and octopuses
* Composition with cherry-picks, fixups, and rebase
* Frequent snapshots and rollbacks
* Bisecting for bugs: time travel for the cause
* Recovering not-yet-lost changes
* Transports, patches, and emails
After the course you will have a renewed appreciation for what git can do for you, and a stronger foundation to build on when maintaining your programs.
What you should bring
Your favourite git client and programming environment.
There is no substitute for real world examples; you can bring your own code base, or a favourite open-source one, to play with. This is fun, but optional; plenty of good examples will be provided.
Prerequisites
Some basic exposure to git, or at least some of version control system, is necessary as some core concepts will not necessarily be carefully explored.