Git power routines [video course]

July 22nd 2015 Nicola Paolucci in Git, Video

Follow along or just sit back and enjoy a live, hands on tutorial on the power routines of experienced git users. We'll explore with real world examples how to amend commits, do an interactive rebase - and why would you want to do one in the first place, how to solve conflicts without any merge tools, the power of less known merge strategies, how to do interactive commits, and much more.

Course notes

Part 1/8: Introduction

  • Who am I?
  • Content overview.
  • Choice of test project.

Part 2/8: Housekeeping

git log --decorate --oneline
git log --decorate --numstat

Part 3/8: Amending and rebasing

  • Amend a commit.
  • Reset a commit to perform a rename.
  • Different resets affect different parts of a git repository.

Part 4/8: Interactive rebase

How to perform an interactive rebase to remove a binary file stuck in the repository

Part 5/8: Solving conflicts

In this 5th part of the course we'll show a few concepts useful when solving merge and rebase conflicts with an interactive example on how to solve one.

We'll explain --ours, --theirs, conflict markers and what's the process needed to solve a conflict using Git.

Part 6/8: What is a merge and alternative merge strategies

We cover the basics of what a merge is in Git and we show the use of a couple of less known merge strategies like the "ours" merge strategy and the "octopus" strategy.

Part 7/8: Git interactive add

In this part we show how to perform and interactive add using Git. That is splitting the contents of some change across to more semantically meaningful commits.

Part 8/8: How to use Git stash

How to use git stash to solve common workflow situations, swap context with ease and smoothness and look cool to your colleagues.

Slides of the course

Conclusions

I hope you enjoyed this material and if you have any questions feel free to ask here or ping me at @durdn or my entire team at @atlassiandev.

Part of the footage of the session was recorded at AtlasCamp.