Managing Source Code with Git


Managing Source Code with Git

Authors: Paolo Perrotta, Aaron Stewart, David Tucker

Git is a distributed version-control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be... Read more

What You Will Learn

  • How to create and manage repositories
  • How to create and manage branches and remotes
  • How to add and commit data to your repositories
  • How to push and pull data to your remotes
  • How to list your commits
  • How to navigate Git history
  • How to version a project
  • Advanced logging techniques
  • How to rename and move files
  • How to check out files
  • How to rebase
  • How to merge and solve merge conflicts
  • Advanced Git techniques


  • Command line basics


Gain a high level overview of what Git is and how it is used while creating and manipulating your first repository.

Git: The Big Picture

by Paolo Perrotta

Dec 17, 2019 / 1h 7m

1h 7m

Start Course

From programmers to IT professionals, it seems that every software developer these days is using Git; the most popular version control system around. In this course, Git: The Big Picture, you'll discover what Git is, what it's useful for, and why it's taking the world of software by storm. First, you'll get an introduction to version control, in case Git is your first version control system. Then, you'll learn what makes Git special and different from other similar systems, and you'll get the lowdown on distributed version control. Finally, you'll understand GitHub and the innovative workflow that so many teams are adopting. When you're done with this course, you'll know exactly what Git is all about.

Table of contents
  1. Course Overview
  2. Getting to Know Git
  3. Understanding Version Control
  4. Making Sense of Git
  5. Entering the Git Ecosystem

Getting Started with Git

by Aaron Stewart

May 29, 2018 / 2h 23m

2h 23m

Start Course

Version control is at the center of any file based project. Whether, you're a software developer, project manager, team member, student, or anyone who works on file based projects, keeping track of changes is essential to creating a great product. In this course, Getting Started with Git, you'll learn the popular version control system Git and why it plays a significant role in creating better projects. First, you'll learn the basics of understanding Git. Next, you'll start your journey with Steve, a local coffee shop owner, and explore how Git elevates his project in a fun and easy step-by-step experience. Finally, you'll discover common and extended commands used in Git everyday. When you're finished with this course, you'll have a working knowledge of Git as a version control system for your project.

Table of contents
  1. Course Overview
  2. What Is Git and How Does It Work?
  3. Get up and Running with Git and GitHub
  4. Basic Commands of Everyday Git
  5. Extended Commands of Everyday Git


Learn about the internal Git system while working in a distributed environment.

How Git Works

by Paolo Perrotta

Sep 16, 2019 / 1h 49m

1h 49m

Start Course

Here is a confession: I used Git for a long time without really understanding what was going on. I knew all the basic commands, but I still got stranded when something went wrong. Why did my rebase fail? How did I manage to mess up the remote? Then I found the key to Git: the content of the .git directory. Once I understood the underlying model, everything about Git clicked into place. Things that used to be baffling and complicated suddenly looked simple and elegant. Let me share these insights with you. It will take you just two hours to wrap your head around Git.

Table of contents
  1. Git Is Not What You Think
  2. Branches Demystified
  3. Rebasing Made Simple
  4. Distributed Version Control


Learn advanced Git techniques that professionals use.

Mastering Git

by Paolo Perrotta

Oct 13, 2016 / 2h 42m

2h 42m

Start Course

You can use Git for quite some time, and still get that nagging feeling that you're missing something. This ideal follow-up to "How Git Works" gives you the information you need to deeply understand Git's most useful features. In this course, Mastering Git, you'll tackle the more advanced Git topics, focus on how to actually get stuff done with Git, and will also learn the Git way of thinking so that you can work comfortably with Git day in and day out. First, you'll discover how to use Git fluently in your daily job. Next, you'll be taught how to move information around in Git and how to investigate and change your history in Git. Then, you'll move on to fixing any mistakes that you make while working with Git. Finally, you'll explore how to organize a shared Git workflow for your team. By the end of this course, you'll be able to up your game and become a power user in Git.

Table of contents
  1. Course Overview
  2. The Four Areas: Introduction
  3. The Four Areas: Basic Workflow
  4. The Four Areas: git reset
  5. The Four Areas: More Tools
  6. History: Exploring the Past
  7. History: Fixing Mistakes
  8. Finding Your Workflow

Advanced Git Techniques

by David Tucker

Dec 20, 2019 / 1h 21m

1h 21m

Start Course

Software developers can often see source control as simply a system that must be used rather than a tool that enables efficiency. In this course, Advanced Git Techniques, you will learn how to optimize and automate your workflow with Git by leveraging some of its advanced capabilities. First, you will review the configuration of Git. Next, you will discover how multiple repositories can be interconnected by utilizing Git submodules. Next, you will leverage the bisect tool within Git to help us find defects within our code. Finally, you will implement both client and server-side hooks to optimize both individual and team workflows. When you are finished with this course, you will have the skills to leverage the advanced capabilities of Git that make you and your team more efficient in whatever software you are creating.

Table of contents
  1. Course Overview
  2. Configuring Git
  3. Utilizing Git Submodules
  4. Implementing a Git Workflow
  5. Finding Bugs with Git

Git Administration

by David Tucker

Oct 17, 2019 / 1h 19m

1h 19m

Start Course

While there are many options for managed Git services, some organizations cannot leverage these services for security or IP restrictions. In this course, Git Administration, you will learn to implement and manage your own Git server. First, you will learn more about Git and how it can be configured to communicate with users. Next, you will configure SSH access and manage users for your Git server. Finally, you will establish HTTP access for your Git server and give users a way to view their repositories on the web. When you’re finished with this course, you will have the skills and knowledge to install, configure, and manage a Git server for your organization.

Table of contents
  1. Course Overview
  2. Serving Git Overview
  3. Configuring Git for SSH Access
  4. Configuring Git for HTTP Access