herwinz/merge-conflict

Welcome

Opened this issue ยท 0 comments

Welcome to Managing Merge Conflicts ๐ŸŽ‰

Hello, and welcome! If you're here to learn about and practice resolving merge conflicts, you're in the right place.

In this course, you'll solve a total of four merge conflicts, and you'll understand why merge conflicts happen. All of the merge conflicts in this course will be simple enough to solve from within the GitHub.com user interface, but if you'd prefer to solve them using the command line or other local tools, the course will still work.

As an added bonus, the project we are using for this course is a resume hosted on GitHub Pages! So, if you want to keep working after you complete this course, please feel free!

Note: You may notice that some branches and pull requests already exist. We'll be using them in later activities in this course.

How merge conflicts happen

Version control is all about making incremental changes to your code or file base. We'll start with the standard workflow, and add a few pictures to help us form a mental model.

Git operates as a linked list. A small history of three commits might look like this:

three commits in a linked list format

In the GitHub Flow, you...

  • create a new branch (which is really just a reference point to a commit)

add a branch

  • add one or more commits (which occur on that branch only, while the other commits stay fixed to their reference point in history)

branch with new commit

  • and then create a pull request, optionally add more commits, and then merge and delete your branch!

Merge conflicts happen when someone else made a change on the master branch in the same file and location where you were making changes. This usually happens when someone else merges in their branch before you merge yours.

Have no fear, Git knows how to handle this -- and it is why Git creates merge conflicts.

Step 1: Create a Pull Request

Before we get too far ahead of ourselves, let's practice making a simple change on a branch. Visualize your actions using the mental model above.

โŒจ๏ธ Activity: Create a normal pull request

  1. On the Code tab, click the _data/skills.yml file
  2. Click the โœ๏ธ icon to enter edit mode
  3. In the file, add a skill or two that you're proficient in.
  4. Scroll the bottom and select the option to "Create a new branch for this commit and start a pull request"
  5. Replace the default patch branch name with change-skills
  6. Select Propose file change
  7. Write some text in the "Leave a comment" field of the pull request
  8. Click Create pull request
  9. ๐Ÿšง Don't merge yet! ๐Ÿšง Refresh the pull request to receive the next comment/instructions.

For a printable version of the steps in this course, check out the Quick Reference Guide.


Look for my next response in your pull request

Sometimes I respond too fast for the page to update! If you perform an expected action and don't see a response from me, wait a few seconds and refresh the page for your next steps.