mirror of
https://github.com/opus-tango/skills-resolve-merge-conflicts.git
synced 2026-03-20 03:55:26 +00:00
Initial commit
This commit is contained in:
1
.github/steps/-step.txt
vendored
Normal file
1
.github/steps/-step.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
1
.github/steps/0-welcome.md
vendored
Normal file
1
.github/steps/0-welcome.md
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<!-- readme -->
|
||||
20
.github/steps/1-create-a-pr.md
vendored
Normal file
20
.github/steps/1-create-a-pr.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
<!--
|
||||
<<< Author notes: Step 1 >>>
|
||||
Choose 3-5 steps for your course.
|
||||
The first step is always the hardest, so pick something easy!
|
||||
Link to docs.github.com for further explanations.
|
||||
Encourage users to open new tabs for steps!
|
||||
-->
|
||||
|
||||
## Step 1: Create a pull request
|
||||
|
||||
_Welcome to "Managing Merge Conflicts"! :wave:_
|
||||
|
||||
**What is a _merge conflict_?**: A **merge conflict** occurs when changes are made to the same part of the same file on two different branches. You usually find out about conflicts in a pull request so let's start by creating one.
|
||||
|
||||
### :keyboard: Activity: Create a pull request
|
||||
|
||||
1. Open a new browser tab, and work on the steps in your second tab while you read the instructions in this tab.
|
||||
1. We made a small change to a file in the repository in the `my-resume` branch.
|
||||
1. [Create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) setting `my-resume` as the head branch and `main` as the base branch. You can enter `Resolving merge conflicts` for the pull request title and body.
|
||||
1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
|
||||
27
.github/steps/2-resolve-a-merge-conflict.md
vendored
Normal file
27
.github/steps/2-resolve-a-merge-conflict.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
<!--
|
||||
<<< Author notes: Step 2 >>>
|
||||
Start this step by acknowledging the previous step.
|
||||
Define terms and link to docs.github.com.
|
||||
-->
|
||||
|
||||
## Step 2: Resolve a merge conflict
|
||||
|
||||
_Good start! Now let's look deeper at a merge conflict! :mag:_
|
||||
|
||||
This can be intimidating, but have no fear, Git is smart when it comes to merging! Git only needs a human to decide how to [resolve the conflict](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line). Sometimes, the best way to resolve a merge conflict is to add content that's from both branches, or even something that isn't on either! This is why Git needs a human to look at the code and make the proper fixes.
|
||||
|
||||
### :keyboard: Activity: Resolve a merge conflict
|
||||
|
||||
1. Open the pull request that you just created, we created a conflict for you. Have no fear!
|
||||
1. At the bottom of the page, under "This branch has conflicts that must be resolved", click the **Resolve conflicts** button.
|
||||
1. Look for the highlighted sections that begins with `<<<<<<< my-resume` and ends with `>>>>>>> main`. These markers are added by Git to show you the content that is in conflict.
|
||||
1. Remove the changes made on the main branch by deleting all of the content below the `=======` and above `>>>>>>> main`.
|
||||
1. Next, remove the merge conflict markers by deleting the following lines:
|
||||
```
|
||||
<<<<<<< my-resume
|
||||
=======
|
||||
>>>>>>> main
|
||||
```
|
||||
1. With the merge conflict markers removed, click **Mark as resolved**.
|
||||
1. Finally, click **Commit merge**.
|
||||
1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
|
||||
25
.github/steps/3-create-your-own-conflict.md
vendored
Normal file
25
.github/steps/3-create-your-own-conflict.md
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
<!--
|
||||
<<< Author notes: Step 3 >>>
|
||||
Start this step by acknowledging the previous step.
|
||||
Define terms and link to docs.github.com.
|
||||
-->
|
||||
|
||||
## Step 3: Create your own conflict
|
||||
|
||||
_Good job! You've solved a merge conflict! :tada:_
|
||||
|
||||
Resolving a conflict doesn't automatically merge the pull request in GitHub. Instead, it stores the resolution of the conflict in a merge commit and allows you and your team to keep working. To resolve a conflict, GitHub performs what is known as a _reverse merge_. This means that the changes from the `main` branch were merged into your `my-resume` branch. With a reverse merge, only the `my-resume` branch is updated. This allows you to test the resolved changes on your branch before you merge it into `main`.
|
||||
|
||||
Now, let's get a little evil. (It's for educational purposes!)
|
||||
|
||||
### :keyboard: Activity: Create your own conflict
|
||||
|
||||
We went ahead and added a new file called `references.md` and pushed that change to `main`, without updating your `my-resume` branch.
|
||||
|
||||
1. Browse to the `my-resume` branch.
|
||||
1. Click the `Add file` dropdown menu and then on `Create new file`.
|
||||
1. Create a file named `references.md`.
|
||||
1. Enter some text that conflicts with what we added for `references.md` in the `main` branch.
|
||||
1. Scroll to the bottom of the page and enter a commit message for your change.
|
||||
1. Click the **Commit new file** button, making sure the "Commit directly to the `my-resume` branch" option is selected.
|
||||
1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
|
||||
19
.github/steps/4-merge-your-pull-request.md
vendored
Normal file
19
.github/steps/4-merge-your-pull-request.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
<!--
|
||||
<<< Author notes: Step 4 >>>
|
||||
Start this step by acknowledging the previous step.
|
||||
Define terms and link to docs.github.com.
|
||||
-->
|
||||
|
||||
## Step 4: Merge your pull request
|
||||
|
||||
_Almost there! :heart:_
|
||||
|
||||
You can now [merge](https://docs.github.com/en/get-started/quickstart/github-glossary#merge) your pull request!
|
||||
|
||||
### :keyboard: Activity: Merge your pull request
|
||||
|
||||
1. First, resolve any remaining conflicts in your pull request.
|
||||
> Look back at step one if you need help.
|
||||
1. Click **Merge pull request**.
|
||||
1. Delete the branch `my-resume` (optional).
|
||||
1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
|
||||
24
.github/steps/X-finish.md
vendored
Normal file
24
.github/steps/X-finish.md
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
<!--
|
||||
<<< Author notes: Finish >>>
|
||||
Review what we learned, ask for feedback, provide next steps.
|
||||
-->
|
||||
|
||||
## Finish
|
||||
|
||||
_Congratulations friend, you've completed this course!_
|
||||
|
||||
<img src=https://octodex.github.com/images/benevocats.jpg alt=celebrate width=300 align=right>
|
||||
|
||||
Here's a recap of all the tasks you've accomplished in your repository:
|
||||
|
||||
- You learned why merge conflicts happen.
|
||||
- You resolved a simple merge conflict.
|
||||
- You created a merge conflict, and resolved it!
|
||||
|
||||
### What's next?
|
||||
|
||||
- Make your own Markdown resume site with GitHub Pages! Learn how in our [GitHub Pages](https://github.com/skills/github-pages) course.
|
||||
- We'd love to hear what you thought of this course [in our discussion board](https://github.com/orgs/skills/discussions/categories/resolve-merge-conflicts).
|
||||
- [Take another GitHub Skills course](https://github.com/skills).
|
||||
- [Read the GitHub Getting Started docs](https://docs.github.com/en/get-started).
|
||||
- To find projects to contribute to, check out [GitHub Explore](https://github.com/explore).
|
||||
Reference in New Issue
Block a user