Git: Merge, Cherry-Pick & Rebase

Contents

00 Introduction

01 Git Storage Internals

  1.    Scenario: Committing Two Files
  2.    Inspecting Git repos: 'git cat-file'
  3.    .Git Folder
  4.    Git SHA Sum

02 Git Refresher: Commits, Branches & Heads

  1.    What your repository looks like
  2.    What is a branch?
  3.    What is HEAD?
  4.    What is a detached HEAD?
  5.    What are refs/heads?

03 Git Merge: Behind the Scenes

  1.    Scenario
  2.    How Git spots differences
  3.    Diff 1: Merge Base vs First Merge Commit
  4.    Diff 2: Merge Base vs Second Merge Commit
  5.    Git-Diff
  6.    What Git will do with the diff result
  7.    Merge Markers
  8.    Solving a Merge

04 Git Cherry-Pick: Behind the Scenes

  1.    Scenario
  2.    Diff 1: updated readme.txt vs Authors.txt
  3.    Diff 2: updated readme.txt vs MIT license
  4.    Git’s Cherry-Pick Algorithm

05 Git Rebase: Behind the Scenes

  1.    Scenario
  2.    How Rebases Work
  3.    First Rebase
  4.    Second Rebase
  5.    Final Exam

06 Fin

07 Future Topics

08 Acknowledgements