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.

Tools
DevOps
People
Soft Skills

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.

Jørgen Kvalsvik

Jørgen is a programmer and has mainly been writing free software in his career - lately targeting gcc. He left the energy industry for work on compiler toolchains and build systems in Japan, before returning to his native Norway where he is currently programmer & director at patch. Now he solves hard and interesting problems where he can find them, does bespoke programming as well as teaching, training, and consulting. He holds an MSc in Computer Science from NTNU.