4 out of 5
17 reviews on Udemy

Mastering Git

Manage your projects with the aid of hands-on exercises that make Git easy for you
Packt Publishing
253 students enrolled
English [Auto-generated]
Work in parallel on different parts of your project and manage diversions with the aid of branching in Git
Manage conflicts in your Git app with the help of Merge, a developer’s “magic missile”
Eliminate errors easily with features such as Reset and Revert and develop clean code in Git
Make your code linear and get better control over it with features such as Rebase and Blame
Control your changes in code effortlessly with the help of Patches in Git
Integrate external software into your project without affecting your app, with the help of SubModules

This course is an exploration of solo and collaborative Source Control Management with the intention of expanding and improving your confidence and expertise with Git.

You’ll begin with a brief overview of Source Control Management before setting up and verifying your Git installation. Then, you’ll move on to a more detailed look at the Git workflow and explore variants and the not-so-rare “special situations”. With a strong understanding of the Git history and structure, you’ll learn how to use powerful tools as Branching, Merging, Reset, Revert and so on. Next, you’ll take a deep dive into more intriguing features of Git such as, Rebase, Stash, Aliases, and Patches. You will explore several examples of these commands to improve the efficiency of using Git. Finally, when you have mastered the various tools provided by Git, you’ll be provided with some suggestions that’ll help you to move forward with Git.

Once you are done with this course, perhaps you will be the one providing answers to others in trouble!

About the Author

Thom Parkin has been writing software since the days when all phones had wires. A self-proclaimed ParaHacker, Thom immerses himself in technology both professionally and as a hobby, spending his free time participating in the world of open source software. When he is not playing euro board games, he is writing software or writing about software development.

Keeping Software Under Control

Understanding Version Control

As a software developer, it is important to understand Version Control and how it can help your development efforts.

Let's Git Started

Using Git with Nitrous

Using NitrousIO provides access to the latest version of Git from anywhere at anytime; regardless of the computer used.

Verify Your Git Installation and Version

Verify the version of Gitthat is currently active in NitrousIO.

Setting Up Globals

Global parameters in Git are applied to every activity for the user on the computer.

The Git Workflow Under a Microscope

A Typical Git Workflow

Most developers who are new to Git fall into a standard pattern of use. There are many ways to use Git that can make your workflow more efficient.

Setting the Stage

It is important to understand how changes are 'staged' in Gitin order to be added to a commit.

The Commit – an Intimate Look

The commit is pivotal to Git as a Source Control Management system. Understanding the GitCommit will broaden your understanding of Git in general.

The Git Directory

There is no magic in Git. It uses the filesystem with a set of hidden directories that store the information.

The Remote

When exchanging Git repositories (and updates), you need to connect to other computers.

Tracking Remotes

When working on a project with others who may be making changes in parallel with you, it is important to keep your copy of the Git repository synchronized.

When Your Development Takes a Detour


Software development rarely runs on a straight and smooth course. Quite often, there are interruptions to the flow of development by 'other' development tasks or emergencies on the same project. Branching is the way to maintain a sense of continuity in the mayhem.

Branching in Git

Git applies a unique approach called “lightweight” to source control branching.

Communicating with Developers of the Future

History and How It'll Affect the Future

Understanding more about Git History.

The Commit Messages

Learnhow to 'phrase' commit messages that carry the most information.

Merging in Git

Working in parallel is useless unless you can “bring it all back together” to ship it.

How to Reset Your Changes

What to do when you make a mistake.

Changing the Way to Manage History

Altering History

If we accept that the history is a story of your project, you may need to alter that history to tell the story better.

Applying Rebase in Git

Merging brings changes together but can leave a messy history.

Using Blame

Sometimes, you need to know who last changed a fileand when.

Using Diff

Since Git manages change, it is important to be able to view those changes as differences over time.

Bisecting in Git

Finding where a bug was introduced in the code can be an impossible task. Git has a tool that acts like your private detective for this.

Patching Up Git

The patch is a small, lightweight way to distribute updates.

Git SubModules

Often, you need to access other software, such as libraries. How do you do this without cluttering your repository?

Git-ting More Efficient


Often, during our work as software developers, an ‘urgent change’ forces an interruption in your workflow. Git has a provision to “put aside” your current work temporarily.


Since Git is a command-line utility, there is a demand to do a lot of typing. Many common commands, although short, can include a complex set of options, making the typing tedious and error-prone.

GUI Clients for Git

Leaving the Nest

When Troubles Arise

There are a few common troubles many developers face when using Git. Armed with a new understanding of how Git works, these can be easily overcome.

The Ultimate Reference: A Git repository

Throughout this presentation, we have been making notes and ideas for reference as you continue to expand your experience with Git.

Final Thoughts

Final Thoughts

Any learning is a process that should continue throughout your lifetime. This is no exception.

References and Resources

References and Resources

Learning is a lifetime process, and your expertise with Git should continue to grow.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4 out of 5
17 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


2 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion