Course Code: gitadvbesp
Duration: 7 hours
Prerequisites:

This course is aimed at experienced Git users who want complete control over their repositories, code and history.

Completion of the ‘Git Basics’ course.

Overview:

By the end of this advanced course, you’ll be an expert in all things Git!

You’ll have a deep understanding of Git objects and the impact they have on the repository.

You’ll be able to manage and maintain a repository and understand if, and why something goes wrong.

You’ll learn complex Git collaboration techniques while performing a number of advanced configurations.

Course Outline:

Module 1: Git Internals

  • Pre-requisites
  • A rundown of the course
  • Git infrastructure in detail
  • Objects
  • Folder structure
  • The index file

Lab 1 Exercises

  • Walk through folder structure
  • Using plumbing commands to create objects.

Module 2: Housekeeping

  • Repository size
  • File System Check
  • Pruning
  • Filter-branch
  • Garbage Collection

Lab 2 Exercises

  • Garbage collection
  • Cleaning up data
  • Recovering lost data.

Module 3: Git Configuration

  • Global
  • Environment Variables
  • Local (per repository)
  • Git-config
  • The config file
  • Attributes
  • Alias

Lab 3 Exercises

  • Identify Settings
  • Configure settings
  • Configure Attributes
  • Set up an Alias

Module 4: Identifying Content

  • Finding Content.
  • Git Describe
  • Git Grep
  • Debugging.
  • File Annotation
  • Git Blame
  • Bisect

Lab 4 Exercises

  • Identify the cause of a bug.
  • Debug the code

Module 5: Advanced Collaboration

  • Configuring remotes
  • Refspecs
  • Archives (send & receive)
  • Patching
  • Sub-modules
  • Worktrees

Lab 5 Exercises 

  • Setting up remotes
  • Splitting up a repository
  • Archiving
  • Creating and applying patches

Module 6: Advanced Merging

  • Rebase (skipped if following a fundamentals course)
  • Dry-runs
  • Cherry Picking
  • Octopus Merges
  • Selecting a strategy

Lab 6 Exercises 

  • Rebasing
  • Cherry Picking
  • Performing an octopus merge