Managing Source Code with Git


Managing Source Code with Git

Authors: Paolo Perrotta, Aaron Stewart, Craig Golightly, 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 6m

1h 6m

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

Feb 10, 2020 / 2h 2m

2h 2m

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 see 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. Get Up and Running with Git
  3. Basic Commands of Everyday Git
  4. Extended Commands of Everyday Git


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

How Git Works

by Paolo Perrotta

May 28, 2021 / 1h 56m

1h 56m

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. Course Overview
  2. Git Is Not What You Think
  3. Branches Demystified
  4. Rebasing Made Simple
  5. Distributed Version Control

Working with Git Branches

by Craig Golightly

Jan 31, 2020 / 1h 18m

1h 18m

Start Course

Working in a large, shared codebase is complex. How do you make progress when everyone is working at the same time? Git branches help you organize and scale concurrent work on your codebase. Branches are also great to organize your daily tasks and manage what you are doing on your own machine. In this course, Working with Git Branches, you will gain the ability to incorporate branches into your daily workflow. First, you will learn the basics of branches. Next, you will discover the tools of merge, rebase, and cherry-pick to help you do even more. Finally, you will explore how to use branches across distributed remotes in a team environment, and how to understand, avoid, and deal with code conflicts when they come up. When you are finished with this course, you will have the skills and knowledge of Git branching needed to boost your individual productivity, work as a team, and lower your stress level.

Table of contents
  1. Course Overview
  2. Understanding Git Branch Basics
  3. Merging Made Easy
  4. Using Git Branches with Your Team


Learn advanced Git techniques that professionals use.

Mastering Git

by Paolo Perrotta

Jun 11, 2020 / 3h 2m

3h 2m

Start Course

You could be using 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, learn the Git way of thinking, and focus on how to actually get stuff done 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 have the knowledge and skills to up your game and become a power user of 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: Advanced Tools
  6. History: Exploring the Past
  7. History: Fixing Mistakes
  8. Finding Your Workflow

Advanced Git Techniques

by David Tucker

Dec 20, 2019 / 1h 20m

1h 20m

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
Offer Code *
Email * First name * Last name *
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit