First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

Git Installation and Administration

Duration: 2 Days

Course objectives and Intended Audience

This course focuses on the more advanced aspects of working with Git especially configuration and functionality and administration. The course is for those who will be responsible for ensuring the smooth running and troubleshooting of Git repos, as well as supporting other users. Attendees are assumed to already have a basic working knowledge of Git at the user level.

Detailed Course Outline

  • Git Infrastructure a Detailed Overview
    • Objects
    • Folder structure
    • The index file
  • Housekeeping
    • Repository size
    • File System Check
    • Pruning
    • Filter-branch
    • Garbage Collection
  • Git Configuration
    • Global Environment Variables
    • Local (per repository) configuration
      • Git-config
      • The config file
    • Attributes
    • Alias
  • Content - Finding and Debugging
    • Finding Content.
      • Git Describe
      • Git Grep
    • Debugging.
      • File Annotation
      • Git Blame
      • Bisect
  • Collaboration - Advanced Topics
    • Configuring and setting up remotes
    • Refspecs
    • Splitting up a repository
    • Archives (send & receive)
    • Creating and applying patches
    • Sub-modules
  • Advanced Repository Actions
    • Removing untracked files (git clean)
    • Removing staged changes (git reset)
    • Reverting a commit (git revert)
    • Checking out a previous commit (git checkout)
  • Advanced Branching & Merging
    • Deleting a Branch
    • Dry-runs
    • Fast forward merge
    • Resolving merge conflicts
    • Cherry-Picking (git cherry-pick)
    • Three way merge
    • Octopus Merges
    • Merge strategy use cases
  • Advanced Git Configuration
    • Aliases
    • Submodules
    • Patches
    • Attributes
    • Hooks
  • Server side Git
    • GIT Protocols
    • Accessing Git on a Server
    • Generating SSH Public Key
    • Setting up a Git Server
    • Public Access
    • Hosted Git (GitHUB)
    • Working with Remotes - Use Cases
  • Git Tools and Customisation
    • Revision Selection
    • Interactive Staging
    • Rewriting History
    • Debugging with Git (bisect)
    • Submodules
    • Subtree Merging