Skip to content

Latest commit

 

History

History
69 lines (55 loc) · 2.81 KB

git_advanced.md

File metadata and controls

69 lines (55 loc) · 2.81 KB

Advanced Git

Overview

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.

Objectives

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.

Course Outline

* 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.

Prerequisites

Firm understanding of Git command-line usage and terminology.

Copyright

Leto Labs LLC 2015

License

Creative Commons License
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.