Git Foundations - Unlocking the Mysteries
Course length: 1/2 day
Description: Dozens of commands! Hundreds of options! Git has dumbfounded sysadmins and developers alike since its appearance in 2005.
And yet, this ingenious software is among the most fantastically useful ever developed.
Learn Git from the ground up and the inside out with Git Foundations Training!
This half-day class explores Git's internals in depth and includes practical exercises to gain familiarity and comfort in handling the nuts and bolts.
Intended audience: No prior knowledge of Git is required. Basic Unix/Linux command line experience is assumed. Experienced users of Git have given rave reviews; the class is not aimed only at beginners, but at anyone wishing to thoroughly understand and use Git to the fullest.
Take Back to Work: Complete mastery of Git basics.
Theory - Mastering the Basics
This 15-30 minute section introduces the subject of version control and covers precise definitions for the most basic terminology to be used in the course.
This section introduces the basics of Graph Theory in sufficient depth to fully grasp the structure of Git internals.
This section covers the storage model of Git in detail, including the theoretical aspect (structure) of merge commits.
Orientation: "The determination of the relative position of something or someone (especially oneself)." This section covers the structure of Git branches and how the working directory relates to Git's internals.
Practical - Mastering the Basics
The practical section for Part I includes several hours of hands-on exercises, interspersed with question and answer periods and discussions. The exercises explore Git's internals in detail and allow students to link the theory learned so far to command line usage of Git, and why each command works as it does.
Students learn to navigate the history of a Git repository, to stage and commit files, to discard changes, to compare versions of files or projects, to branch out and to discard or merge branches, and how to easily handle merge conflicts.
Practicals are done with plain text files, not programming source code, to keep the focus on learning Git - not on learning programming.
We just started to use git ... We learned what we know by reading docs and scraping together a working solution. Taking your class reinforced the things we have done right and offered a number of ways to improve our environment. Especially interesting: graph theory (intro), log/history graphical output, various forms of diff.
—David Brezynski, Unix/Linux Systems Administrator
Great class! Enjoyed the theory in the beginning.
—Jeremiah Jester, Systems Administrator