Course info
Oct 13, 2016
2h 42m

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.

About the author
About the author

Paolo Perrotta is a traveling coach and a software mentor. He wrote "Metaprogramming Ruby", widely praised as one of the essential books on Ruby.

More from the author
Design Patterns Playbook: Structural Patterns
1h 5m
Dec 13, 2017
How Git Works
1h 49m
Mar 10, 2016
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi. I'm Paolo Perrotta. Welcome to my course, Mastering Git. If you have ever been impressed by someone using Git in a natural way, in a way that flows working fluently with an index and a stash, changing a project's history, using sophisticated commands such as reset, for example, or reflog, well, if you were impressed by that, then prepared to be impressed by yourself soon. This short training contains all the information that you need to use Git fluently in your daily job, and also to move information around in Git like nobody's business, to investigate and change your history, to fix any mistakes that you make while working with Git, and even to organize a shared Git workflow for your team. This is the training you need to up your game and become a power user. It's also a follow-up to my previous course, How Git Works. But you don't necessarily need to have followed How Git Works to enjoy this training. As long as you have some experience with Git, you can follow along. So if you've been looking for a course that tackles more of the best Git topics, focuses on how to actually get stuff done with Git, and teaches you the Git way of thinking so that you can work comfortably with Git day in and day out, here is the course you've been waiting for.

The Four Areas: Basic Workflow
Welcome to the second module of Mastering Git. Good to see you again. In the previous module, I said that to understand a Git command, we must ask ourselves a couple of questions. How does this command move information across the four areas? And how does it impact the repository? In this second module, we will look at the basic Git workflow commands, the ones you already know--add, commit, checkout, moving and renaming files, the works. Only, we will look at those commands through the filter of those two questions. So even if you know those commands already, this might be a novel take on them. Let's start straight away.

History: Exploring the Past
Hello again from Paolo Perrotta. This is the first of two modules about working with your project's history. This module, Exploring the Past, is all about digging into history and making sense of it. And in the next module, we're going to talk about how to change history. I remember this training that I watched once about vim, the text editor. And the teacher said, Using vim feels like being a text surgeon. I think that's a nice metaphor, whether or not you like vim in particular. Some technologies are so precise and accurate that when you use them, it feels a bit like doing surgery. You do exactly what you want on the data you want. And you use tools that are a bit scary maybe, they cut easily, but they are also very powerful. Git also feels like that, especially when you're working with history. So this module and the next are about becoming a history surgeon, if you wish. And because your history is part of your repository, we'll stop talking about the other storage areas and focus on the repository alone. Just one note about this part of the training. I promised that I wouldn't linger on technical details in this training, that I would focus on the model and the way of thinking of Git rather than focus on the commands, the options and the like. Well, in these two modules, I'm going to relax that approach a bit. Working with history is mostly a technical thing. So I'm going to focus a little bit more on the commands here. Let's dive in.