This curriculum is geared toward an advanced Git audience that is already familiar with basic concepts. Additionally, this is geared towards command-line in-house Git operation, as opposed to Github or other solutions.
On completion of the course, students will understand various new techniques to use Git and how to optimize their personal Git workflow and production operations which use Git repositories.
* Commitish and Refspec Syntax
Goal: Students will understand the full syntax of describing commits
(a commitish) and how to use them in refspecs.
* Overview of merge tools
Goal: Students will recieve an overview of features from various
utilities that are compatible with "git mergetool"
* Encrypting Files in Git
Goal: Students will learn how to encrypt individual files in a
repository of mostly unencrypted files. The use case of keeping a
configuration file, an SSH private key and an SSL certificate in an
encrypted form within the Git repository.
* Handling with Large Files
Goal: Students will learn techniques for managing large files,
which Git was not originally designed to handle.
* Optimizing Git repositories
Goal: Students will learn how to optimize a local Git repository as
well as efficiently use bandwidth and disk space when managing various
Git repositories.
* Bisecting
Goal: Students will understand how to write a non-trivial bisection
script and use it to debug a failure condition
* Modifying History
Goal: Students will understand how and why one would want to modify
the history of a Git repository.
* Directly accessing Git repositories
Goal: Students will be introduced to accessing Git repositories
directly from programming languages and libraries in a safe and
reliable way via libgit2.
* GPG Signing Tags
Goal: Students will understand strategies for cryptographically signing
commit tags.
* Git Hooks
Goal: Students will learn about all local and remote Git hooks and how
one would use them to accomplish common tasks.
* Continuous Integration
Goal: Students will learn how to connect Git repositories with testing
frameworks.
Firm understanding of Git command-line usage and terminology.
Leto Labs LLC 2015
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
The author is very much open to licensing this material under different licenses. Please contact [email protected] to start the conversation.