This course provides working developers and technology professionals with comprehensive, hands-on coverage of the Git DVCS platform. The course begins with a brief history and rationale for Git followed by lecture and labs covering installation, user config, help, and other Git basics. General repository operations including staging, committing, branching, tagging, undoing and rebasing are covered. Git server-based operations are examined in detail with a look at the configuration of various servers and protocols, as well as using an assortment of tools and techniques for interacting with remote repositories. Patch submission and project maintenance are examined in detail as well as revision management sub-modules and subtrees. The course concludes with a look at Git customization and configuration, including coverage of client and server-side hooks.