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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.