This course is aimed at experienced Git users who want complete control over their repositories, code and history.
Completion of the ‘Git Basics’ course.
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.
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