Git Advanced
                
                    The Clearvision Git Advanced training course provides an understanding of advanced Git concepts and looks at configuration and functionality.
                
Audience:
Prerequisites:
- Access to laptop
 
- Internet connection
 
- Completion of Git Essentials
 
Course outline:
Module 1: Git Internals
- 1. Pre-requisites
 
- 2. What this course covers
 
- 3. Git infrastructure in detail
- Objects
 
- Folder structure
 
- The index file
 
 
Lab Exercises
- 1. Walk through folder structure
 
- 2. Using plumbing commands to create objects.
 
 
Module 2: Housekeeping
- 1. Repository size
 
- 2. File System Check
 
- 3. Pruning
 
- 4. Filter-branch
 
- 5. Garbage Collection
 
Lab Exercises
- 1. Garbage collection
 
- 2. Cleaning up data
 
- 3. Recovering lost data
 
 
Module 3: Git Configuration
- 1. Global
 
- 2. Local (per repository)
- Git-config
 
- The config file
 
 
- 3. Attributes
 
- 4. Alias
 
Lab Exercises
- 1. Identify Settings
 
- 2. Configure settings
 
- 3. Configure Attributes
 
- 4. Set up an Alias
 
 
Module 4: Identifying Content
- 1. Finding Content
 
- 2. Debugging
- File Annotation
 
- Git Blame
 
- Bisect
 
 
Lab Exercises
- 1. Identify the cause of a bug.
 
- 2. Debug the code
 
 
Module 5: Advanced Collaboration
- 1. Configuring remotes
 
- 2. Refspecs
 
- 3. Archives (send & receive)
 
- 4. Patching
 
- 5. Sub-modules
 
- 6. Worktrees
 
Lab Exercises
- 1. Setting up remotes
 
- 2. Splitting up a repository
 
- 3. Archiving
 
- 4. Creating and applying patches
 
 
Module 6: Advanced Merging
- 1. Rebase (skipped if following a fundamentals course)
 
- 2. Dry-runs
 
- 3. Cherry Picking
 
- 4. Octopus Merges
 
- 5. Selecting a strategy
 
Lab Exercises
- 1. Rebasing
 
- 2. Cherry Picking
 
- 3. Performing an octopus merge