Mastering Git

Take the solid foundation laid by the Beginning Git course, and build upon it. Focus on fixing real-world problems, as you take a multi-user Git repository and work through the final steps of releasing a software product. By Sam Davies.

Leave a rating/review
Download materials
Save for later
Comments
Share

Learning path

This is part of the Software Engineering for iOS learning path. View path.

Who is this for?

This course builds on the concepts raised on Beginning Git. Taking this course, you should have a basic understanding of Git. You should know how to create new branches, merge your changes, review logs and commit changes.

Covered concepts

  • How Git works
  • Merging conflicts from different branches
  • Storing changes between branches
  • Creating custom commands in Git
  • Rewriting commit history
  • Ignoring committed files
  • Incorporating specific changes between branches
  • Revert changes
  • Git user interfaces

Part 1: Mastering Git

01
Toggle description

If you’ve been using Git for a while, you might be wondering how it actually works. In the first video of the Mastering Git video course, you’ll discover how Git is built on top of a simple key-value store-based file system, and what power this provides to you.

Toggle description

In the Beginning Git video series, you discovered how powerful the branch-and-merge paradigm is. But merging isn’t always as simple as it might first appear. In this video you will learn how to handle merge conflicts—which occur when Git cannot work out how to automatically combine changes.

Stashes 8:31
Toggle description

Git stashes offer a great way for you to create a temporary snapshot of what you’re working on, without having to create a full-blown commit. Discover when that might be useful, and how to go about it.

Aliases 5:50
Toggle description

Do you ever find yourself typing out the same long Git commands repeatedly? Well, now there’s another way. Git aliases allow you to create new Git commands that can streamline your workflow.

Toggle description

Rebasing is often thought of as a mystical and complex tool. This video will demystify one of the primary uses of Git rebase—integrating branches without merge commits.

Toggle description

Rebase is a whole lot more powerful than just as a replacement for merge. It offers the ability to completely rewrite the history of your git repo. Discover how in this action-packed video.

Toggle description

Gitignore is easy right? If you’ve been using it for a while you’ll know that isn’t always true. Discover how you can fix problems with gitignore such as handling files that have been accidentally committed to the repository.

Toggle description

Cherry picking provides a way to grab single commits from other branches, and apply them to your own branch. Learn how to achieve this, and why you might want to in the next video in the Mastering Git video course.

Toggle description

Interactive rebase allows you to rewrite history one commit at a time. But what if you want to automate that? In this video you’ll see how you can use the filter-branch tool to programmatically rewrite history—kinda like a nerdy time traveller.

Toggle description

One of the common questions associated with git is “how can I get out of this mess?”. In this video you’ll learn about the different “undo” commands that git provides—what they are and when to use them.

GUIs: GITK 10:16
Toggle description

In the first of three videos about GUIs for Git, you’ll take a look at Gitk and GitGUI—two simple tools that are distributed with Git itself.

Toggle description

Next up on the whistlestop tour of popular Git GUIs is SourceTree. Learn how to get started with SourceTree, and some of the top tools it offers.

GUIs: GitUp 10:48
Toggle description

And finally, it’s GitUp—objectively the best Git GUI there is. Find out why as we take a quick tour of how to get started with GitUp.

Conclusion 3:08
Toggle description

A quick summary of what you’ve learnt throughout this Mastering Git video course. Remember that Git is a tool that you can use irrespective of your chosen platform, but that it is very much a tool.