4.35 out of 5
4.35
151 reviews on Udemy

Git Going with Comparing, Branching and Merging

Comprehensive, step-by-step guide to Comparing, Branching, Merging and Rebasing in the Git source control system
Instructor:
Jason Taylor
2,374 students enrolled
English
Install Git and related tools, specifically for comparing and merging
Compare (diff) between various parts within Git (branches, commits, and more)
Create, manage, and delete branches
Merge branches and resolve conflicts
Rebase branches and resolve conflicts

Git Going with Comparing, Branching and Merging

Are you sure how to compare between commits, branches or the three states of Git? Do merges cause you trouble? What is a rebase, anyway?

In this course, students will walk though comparing (diffs), branching, merging and rebasing in Git. At the end of this course, students will have a firm understanding and experience with those paricular aspects of Git. Note: This is not a comprehensive course on Git — we focus exclusively on comparing, branching, merging, and rebasing.

Recent Course Updates

  • October 17: Added Updates and Errata section

Course Outline

Course Introduction and Overview provides an introduction to this course.

After the introduction, the first thing we do is Git Installation for both Windows and Mac. There are dedicated sections for Windows and Mac — so students can jump directly to the lectures specifically designed for their system. After the installation process, we will download the example project repository from GitHub (clone) which we will use throughout the course.

After installation and downloading the example project, we explore ways to make Comparisons in Git, including all the different local states, between commits, and between local and remote repositories.

We give great attending to Branching and Merging in Git. We start off with the simple “happy path” and learn about “Fast-Forward” merges and how to control them. The we walk through common “automatic” merges. Finally, we cause trouble on purpose so we can step through resolving conflicting merges with our visual merge tool.

With a strong foundation in branching and merging, we will then cover a more complex topic, Rebasing. In that section, we cover several rebasing examples, including how to resolve a rebase conflict.

All tools have installation and configuration sections to ensure no one is left behind.

Course Features

Presentations provide audio/video training of conceptual ideas. Since few like slide-ware presentations, slide-presentations are kept to a minimum.

Screencasts provide a video of the instructor’s computer system with any actions, commands, or screens displayed and narrated. There is nearly 2 hours of screencast based video training in order to step through each command or action in sufficient detail.

Special Notes

This course is part of the “Git Going” series and is included with the Git Complete comprehensive course. If you are already enrolled in that course, do not enroll in this course.

This course makes extensive use of the command line. Each command is discussed in detail, so everyone can follow along.

Introduction

1
Course Introduction

An overview of the topics covered in this course, including branching, merging, and resolving conflicts in Git.

Windows Installation

1
Installation Overview for Windows

A guide to what software is going to be installed in this section for this course.

2
Git for Windows

A guide to installing and setting up the source management tool Git for Windows.

3
Notepad++ Install

A guide to installing the text editor Notepad++.

4
Notepad++ Configuration

A guide to configuring Notepad++ to work better for this course.

5
P4Merge for Windows Install

A guide to installing the merge tool P4Merge.

6
P4Merge for Windows Configuration

A guide to configuring P4Merge on Windows.

Mac OS X Installation

1
Installation Overview for Mac OS X

An overview to the tools that will be installed in this section for this course.

2
Apple Git on Mac OS X (Yosemite and above)

A guide to getting the Apple provided version of the source control tool Git.

3
TextMate 2 Install

A guide to installing the text editor TextMate 2 on Mac OS.

4
TextMate 2 Configuration

A guide to configuring TextMate 2 to improve usability for the rest of this course.

5
P4Merge for Mac Install

A guide to installing the merge tool P4Merge on Mac OS.

6
P4Merge for Mac Configuration

A guide to configuring P4Merge on Mac OS.

Setup

1
Course Project Repository

Cloning the GitHub repository for this course onto your personal GitHub account and then downloading the repository onto your local system.

Comparing in Git

1
Git Repository Setup (for Comparing examples)

Setting up our Git Repository in order to be able to do comparisons in later lessons.

2
Comparing Working Directory and the Staging Area

Using P4Merge in order to compare our current GIt repository to the staged changes of our Git repository.

3
Comparing Working Directory and the Git Repository (Last Commit)

Comparing our current working directory in Git to the last commit on the Git repository.

4
Comparing Between the Staging Area and the Git Repository (Last Commit)

Comparing our Git staging area to the last commit on the Git repository.

5
Limiting Comparisons to one File (or Path)

Limiting a comparison to a single file to focus in on what changes were made to just that file.

6
Comparing Between Commits

Comparing any arbitrary commit to another arbitrary commit in Git.

7
Comparing Between Local and Remote Master Branches

Comparing commits between our local Git repository and our remote GitHub repository, in order to help with pulling down changes that may conflict.

8
Comparison Section Cleanup and Push back to GitHub

Pushing our changes up to GitHub now that we have verified the changes, as well as general cleanup for this section.

Branching and Merging in Git

1
Branching Basics

An overview of the basic branching techniques that will be covered in this section by creating our first branch on Git that isn't our Master branch.

2
Happy Path / Fast Forward Merges

Merging branches in the easiest way possible, in which the changes can be smoothly integrated with no issues.

3
Happy Path / Disable Fast Forward Merges

Disabling the easy path to merging in order to complicate the merge history when needed.

4
Automatic Merges

Creating a slightly more complicated merge, in which changes from both branches can automatically be integrated in with each other.

5
Conflicting Merges and Resolution

Resolving conflicts that arise when the same code is changed in two different branches in our Git repository.

6
Section Clean up and Push back to GitHub

Cleaning up what we have done in this section and pushing those changes back up to our remote GitHub repository.

Rebasing in Git

1
Simple Rebase Example

A guide to basic rebaseing within Git, in which we will take two branches with different changes to create a cohesive linear commit history.

2
Setup a Rebasing Conflict

Setting up a conflict that will make our rebase process a bit more complex.

3
Abort a Rebase

Aborting a Git rebase in case that isn't what is wanted.

4
Rebase Conflict and Resolution

Resolving merge conflicts in order to allow our rebase to continue.

5
Pull with Rebase (GitHub)

Rebasing our local repository with our remote repository in order to create a linear history path between the two.

6
Section Cleanup and Push to GitHub

Cleaning up our repository after we are finished rebasing and pushing up those changes to our remote GitHub repository.

Updates and Errata

1
Git Mac OS X Updates

A guide to resolving the issue of Git not working after upgrading to a new version of Mac OS.

Conclusion

1
Review

An review of the topics we covered in this course, including branching, merging, and resolving conflicts in Git.

2
Bonus: Exclusive Student Discounts
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.4
4.4 out of 5
151 Ratings

Detailed Rating

Stars 5
59
Stars 4
63
Stars 3
24
Stars 2
2
Stars 1
3
cf8d103a630b412b42400e9684ddd420
30-Day Money-Back Guarantee

Includes

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