You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When forking the repo, make sure to copy all branches by unselecting the checkbox next to "Copy the master branch only".
Clone the forked repo locally.
Create a new branch and name it remove-quote.
Open linus.txt and remove the last line - the one starting with "Microsoft ...". Save the file.
Commit the changes with "Remove last quote" as a commit message.
Merge the newly created branch remove-quote into master. In order to do so, you need to checkout master and then execute the merge command.
Push the changes made on master. You may have to enter your GitHub credentials.
Execute the merge command to merge branch origin/microsoft into master. You should receive a message, saying that there are merge conflicts in linus.txt.
Open linus.txt and resolve the merge conflicts by accepting the changes made by both branches. You need to delete the extra lines starting with <<<<<<<, ======= and >>>>>>>. Save and close the file.
Complete the merge by staging the changes and executing git merge --continue. Name your commit "Merge microsoft branch".
Push your changes.
Your log should look like this:
(HEAD -> master, origin/master, origin/HEAD) Merge microsoft branch
(remove-quote) Remove last quote
Add README
(origin/microsoft) Change Microsoft quote
Add linus text file
If you compare master to remove-quote you should have one new line starting with "In my opinion ...".
Challenge 2
Checkout branch microsoft and use the rebase command to rebase microsoft on origin/microsoft-software. A message should appear, saying that there are merge conflicts in linus.txt.
Open the file and resolve the merge conflicts by accepting the changes made by both branches. You need to delete the extra lines starting with <<<<<<<, ======= and >>>>>>>. Save and close the file.
Finish the rebase process by staging your changes and instructing Git to continue with the rebase.
Push the changes made on the microsoft branch. Keep in mind that you have changed existing branch history.
Submit a pull request to merge microsoft to microsoft-software in your forked repo. After clicking on 'New pull request', make sure to change the value of the first dropdown - base fork: varbanandreev/git-crash-course-advanced to your own repo - <github-account>/git-crash-course-advanced.
Select microsoft-software for the base branch and set the compare branch to microsoft. Click on the 'Create pull request' button and then confirm the merge.
Now, let's complete the pull request. Click the 'Merge pull request' button.
After you have completed the pull request, checkout the microsoft-software branch and pull the latest changes.
After pulling, your log should look like this:
(HEAD -> microsoft-software, origin/microsoft-software) Merge pull request #1 from varbanandreev/microsoft
(origin/microsoft, microsoft) Change Microsoft quote
Change 'operating systems' to 'software'
Add linus text file
Challenge 3
Let's say we want to extract the quotes section from linus.txt into another file. We already have a branch that does it - bugfix/extract-quotes.
However, this branch does the work in multiple commits, which can be squashed into a single commit. That is what you must do.
Checkout bugfix/extract-quotes. Notice that its log contains 6 commits. Begin an interactive rebase on master.
Squash all trivial commits - the commits starting with "Remove ...". Reword the first commit to give it a better commit message - "Extract quotes into separate file".
Complete the interactive rebase.
Your log should now be shortened to:
(HEAD -> bugfix/extract-quotes) Extract quotes into separate file
(origin/master, origin/HEAD, master) Add README
Add linus text file
Push your changes in the bugfix/extract-quotes branch. Keep in mind that you have changed existing branch history.