Git Foundations - From Novice to Guru

Learn Git from the ground up and the inside out with Git Foundations Training!

Email now to sign up.

Git Foundations - From Novice to Guru

Course length: 5 days


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 class explores Git's internals in depth and includes practical exercises to gain familiarity and comfort in handling the nuts and bolts. It also covers collaboration with GitLab, which adds a powerful GUI and many features for software development.

Intended audience: Anyone who needs to use Git. The only requirement is familiarity with the Linux command line environment and ability to use a text editor.

Take Back to Work: Complete mastery of Git basics and the ability to comfortably and efficiently collaborate with Git. Also, ability to read and understand Git man pages.

Course Outline:

Part I: Mastering the 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.

Graph Theory

This section introduces the basics of Graph Theory in sufficient depth to fully grasp the structure of Git internals.

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.

Part II - Basic Collaboration

Part III - Beyond the Basics

Part IV - GitLab

Student Successes

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

Thank you again for the great workshop! It was great to be able to get a deeper understanding about Git. Even though I knew about Git beforehand, just understanding more about the way it works and the definitions and machinations behind it really transformed my knowledge and usage of it. Especially considering back then I used Git without really understanding it, I really can conceptualize how it works and can't wait to apply it to future projects. Thank you for the great workshop, and I look forward to learning more.
—Kevin Nguyen, Systems Engineer

Your methods of explaining and getting everybody involved was really great. I liked the way you went about explaining the background as well as the related Git terminologies. Although, you have not gone into any Git commands I can already see the benefits of these kind of training in my daily job functions. I've only used a few Git commands, so I am looking forward to maximize my Git knowledge with your future sessions.
--Sonny Trang, Cloud Automation Engineer

It was very well explained so it really helped get a deeper understanding of the tool.
—Gustavo Ardila, Systems Administrator

You definitely filled out some conceptual holes.
—Stephen Franklin, Systems Engineer

I liked that it was approachable and assumed no prior knowledge.
—Eric White, Senior System Engineer

I was able to understand the explanations even as a student with limited technical knowledge.
—Eric, California Community College Student

This talk has something to offer for most Git users. It's not a run of the mill "how to use" Git presentation.
—Jordan Schwartz, Systems / Storage Engineer

It's very important to understand how Git works and what is the role of the .git directory and the files under it.
—Ionut Cadariu, Infrastructure Engineer

I've been using Git for years now, but only really understood enough to get my job done - checking in code, merging branches, tagging releases. It was really nice to understand what Git is actually doing internally when I issue those commands.
—George Wu, Vice President of Engineering

It was a fantastic class on Git internals. Mike obviously worked really hard to structure the material in a logical progression of definitions and concepts and really engaged the audience. I now understand DAGs, trees, blobs, objects and commits more thoroughly than I have before.
—Lan, San Gabriel Valley LUG organizer

Mike, thank you so much for giving an excellent presentation! You clearly know Git from top to bottom. Even better, you did a great job of presenting information, explaining concepts, and answering questions -- all in a very interesting way.
—Rick, San Gabriel Valley LUG member

[The course was] well-realized, well-structured, and motivating. The pacing was solid, and there was no dead space or fluff. The interactions and checkpoints were great for solidification and repetition, which really help long-term retention.

[I got] working knowledge of the fundamentals of git and the options I have in using it more fully -- and the confidence that in using this more advanced stuff, I will also be able to dig my way out of errors and complexities quickly and without data loss.
—Alden S., an IT operations professional

I really enjoyed this course. I was not expecting this kind of depth about git. I was really expecting something boring and it definitely was not.

This training gives you a range of understanding. Not only how to do common git commands like add, commit, push, pull, etc, but how all these things work behind the scenes and how they relate.

I feel like I understand git a lot better now. Not just basic git commands but how things are working under the hood. The objects section was particularly enlightening.
—Travis, an IT operations professional

This has been very intense, but i've also learned a great deal.
—An IT operations professional

This has so far been the best virtual training I have had, the materials were excellent and the instructor was available whenever needed.
—An IT operations professional

I feel like I understand git a lot better now. Not just basic git commands but how things are working under the hood.
—An IT operations professional

Subscribe to our newsletter. Get the slides for our introductory talk "Git Foundations - Basic Concepts and Definitions" and learn about our news and events.

* indicates required

About Us

Vertical Sysadmin increases competence of professionals supporting the IT fabric of modern civilization so that society lasts! We specialize in delivering effective training on excellent technologies.

Would you like to improve efficiency, productivity and morale of your sysadmin staff? Yes!

The balance between theoretical and practical knowledge is just perfect. No bullshit.

– Bernard Brandl, Altran

Very personal approach to teaching. We are bored to death with PowerPoint slides. Most of the class was hands on.

– Prakash Rudraraju, Salesforce

Thank you for such a great class. Been to lots of technical training and you are the best instructor I've had.

– Thomas Nicholson, Ntrepid Corproration

We Are

  • Web Ops Specialists

  • Senior Sysadmins

  • Fans of Efficiency

We Care

  • Professionalism

  • Honesty

  • Generosity

We Love

  • Participating in sysadmin conferences

  • Helping sysadmins work faster and better

  • Giving back to the community