A key to software-tool comfort is having he 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 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
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.
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.