Starts September 28

Git for Network Engineers' Course



Student Success

(from earlier courses)

  • I highly recommend both courses (Ansible and Netmiko) for those looking to learn more about network automation. Kirk Byers does a great job at explaining the content, provides the lab resources required to perform the course material, and is good at responding to questions on his Slack Channel.

    Andrew Turner
  • I have taken several paid and non-paid Python courses. I can say that by far your course is the best one I have taken. The way you explained stuff just makes sense to me.

    Joli Martinez
    Automation Engineer
  • I am on the material for the 3rd week and I just wanted to compliment you on the way that you explained how to unwrap the data structures. Best step by step explanation I have seen so far to help me understand and work with the data. Thank you very much!

    Ray deGuzman
    Senior Network Engineer

Course Syllabus

Lesson1: Fundamentals

  • What is Git?
  • What objects does Git track?
  • What is a repository?
  • File States: tracked vs untracked
  • Two-step commit process
  • Git hashes

Lesson2: Commits and Adding/Removing Files

  • Our first commit
  • State of the object store
  • The commit history
  • Adding files and directories
  • Removing files and directories
  • Removed files are not really gone

Lesson3: Branching and Merging

  • What is a branch?
  • Creating branches
  • What is a fast-forward merge?
  • How Git handles a three-way merge
  • Rebasing insteading of merging
  • Merge conflict example

Lesson4: Remotes, Push/Pull, and Tracking

  • Managing remotes
  • Git fetch
  • Git pull
  • Git push
  • Tracking branches

Lesson5: Using GitHub

  • Creating a GitHub account
  • Forking a repository
  • What git clone does automatically
  • Setting up an access token
  • Creating a repository in GitHub
  • GitHub pull-requests

Lesson6: Tags, Config, and Undoing Commits

  • Creating and listing tags
  • Customizing Git's config
  • Stashing changes
  • Undoing commits
  • Failing forward

Lesson7: Branching Patterns, Merge Options

  • Single branch
  • GitHub flow
  • GitLab flow
  • GitFlow
  • Anti-patterns
  • Merge options

Bonus1: GitHub Actions (Plus Package Only)

  • An aside on YAML
  • Creating your workflow
  • Defining a job
  • Defining steps
  • Creating a matrix
  • Adding simple tests

*Course content is subject to change. Any changes should be minor, however.

FAQ

What is the format of the course?

This course is a six-week email course. Each week you will receive a lesson that contains a set of videos, some additional content, and some exercises (during week one, you will receive two lessons). We will post solutions to the exercises online. The Plus Package will have a community forum where you can ask questions and interact with me and with the other students.

Is there a lab environment?

Yes, there will be a simple Linux lab environment that you can SSH into. This lab environment will allow you to easily use Git. Alternatively, you can install and configure Git in your local environment.

What are the prerequisites for the course?

Since the lab environment will use Linux, you should be at least somewhat familiar with Linux. You should know the basics of how to move around the file system, execute shell commands, and edit a file. Note, the lab environment is optional and you can also install Git locally on your own computer.

Why Git?

Git is the predominant version control system currently in use. It allows you to manage both automation code and text-based infrastructure files. It also enable the integration of CI/CD into your environment. CI/CD enables systematic and automated testing of changes.

What is the community forum?

The community forum is a forum where students can interact, ask questions, and make recommendations. Students that purchase the Plus Package will have access to the community forum for the duration of the course.

What if I am unsatisfied with the course after I sign-up?

If you are not satisfied with the course, there is a 15-day money back guarantee. No questions asked.

About Us

Kirk

Kirk Byers is the founder of Twin Bridges Technology–a business specializing in network automation training. He is the creator of the Netmiko Python library and also one of the maintainers of the NAPALM project. He teaches Python, Ansible, and Nornir courses for Network Engineers and writes about network automation. He is a long-time network engineer (CCIE #6243 emeritus), has extensive experience with *nix system administration, and is a Python programmer. He is interested in programming and networking and how to improve network engineering practices through automation.

Zack

Zack is a programmer extraordinaire. His language of choice is Python. He loves programming and is very big into games including: Magic the Gathering, Brawl Stars, Scythe, and Terraforming Mars.

Jupiter

Jupiter is all dog. She loves to be near her people and loves her food (not necessarily in that order). She likes the water, the beach, chasing birds, and meeting new people. She is categorized as "an aggressive chew breed" and is living up to that category.


Starts September 28

Git for Network Engineers' Course