Git Under the Hood - with Jeffery Haemer/SFS


Details
Speaker: Jeffrey Haemer
Suggested Gift: A gift of 128 USD, 512 mBTC, or Pay What You Choose will be gratefully accepted. The cost for his on-line class runs between $239 and $300. Additionally you have the opportunity to learn from him face to face.
Make sure to review the Student Checklist: https://github.com/jsh/class-checklist/blob/master/checklist.md
SUMMARY:
Dr. Haemer says: A key to software-tool comfort is having the right mental model of what the tool’s actually doing. I field daily questions from folks who say things like, “I did a git tag -d, to delete the tagged version but it looks like the code from that version is still in the branch,” or “I checked out the tagged release and made a hot-fix to it, but I can’t figure out why git won’t push that to GitHub.”
These folks don’t have a technical problem; they just have the wrong idea of how git actually works. Getting the right mental model takes you a long way towards mastery, so you can do what you want and be a resource for your co-workers. Learning a collection of hundreds of magic, git incantations doesn’t help. Learning what’s actually going on does.
That’s what I want to teach.
OUTLINE:
Basic Repo Structure: what’s down there, how it gets there, and what some common git subcommands do.
Lessons from History: what came before git and what directions git is going
Branches and Tags as sticky notes
Social Git: how your repo talks to remotes, and other unfinished business
REQUIREMENTS:
Geeks with laptops. Attendees will want to try the stuff I talk about. They should know how to use the shell in a terminal window. They will need to install packages, either on their own boxes or on servers they can launch and administer in the cloud (AWS, GCS, Rackspace, whatever).
This is not a git intro, so git may not make sense yet — otherwise, why attend? — but an attendee should have used basic, git commands.
Attendees will walk away much less mystified by git. They’ll stop feeling like it’s “version control for people with too many IQ points.” They’ll know where git came from, where it’s going, and how to write tools to help shape that direction.
What’s in a git repo and how does it get there?
How did we get to git? What’s the main-line history of Unix/Linux SCM tools and what insight does that give you into git?
What are branches, tags, symbolic refs, HEADS, and commit-ishes?
When git on one machine talks to git on another, what are they talking about?
What’s a git subcommand and why does git have so many?
What might the future hold?
How can you do simple experiments to figure out what you don’t understand, even after the tutorial?
SPEAKER DESCRIPTION:
Dr. Jeffrey Haemer has been doing source-code management (SCM) at Gogo Business Aviation, in Broomfield, Colorado since 2011. He’s been doing commercial Unix and Linux work since 1983, when he helped make IBM’s PC/IX, the first Intel UNIX, at Interactve Systems Corporation, where they used SCCS.
He has done Unix and Linux education and training for organizations like Uniforum and the University of Colorado, and in places like Romania and Kuwait. He has served as Standards Representative for the Usenix Association. He is a contributing author of The Linux Administration Handbook and has published over a hundred articles and papers on software engineering for Unix and Linux.

Git Under the Hood - with Jeffery Haemer/SFS