The Middle-Aged Noob Finally Finishes the Git Course and Suggests Some Solutions to Minor Issues
- rachel
- Nov 30, 2023
- 4 min read
Updated: Dec 8, 2023

Hey everyone, I finally completed the Learn Enough Git to Be Dangerous course – woohoo!! Having finished the first three courses in the Learn Enough series, which focus on tools that developers use, I finally get to move on to the meat of how to build websites. I encourage all of you to keep at it. It’s so worth it to reach this milestone!
Before I move on to the HTML course, I will just note here a few suggestions which may be helpful for getting through the Git course with less difficulty. A previous blog post mentions some minor hassles I had in earlier parts of the course. The section numbers below refer to the online lessons. To get the corresponding section number in the textbook, add 7. For example, Section 4.1 in the online lessons is the same as Section 11.1 in the textbook.
Section 4.1, Clone, Push, Pull. Back in the tutorial for Section 3.2, “Ignoring Files”, we created a .gitignore file that included tmp/ (temporary) files. In this lesson, though, we create a tmp directory which will need to be recognized by Git in order for the lesson to proceed. So, I removed the tmp/ line from the .gitignore file on GitHub in case it would cause a problem.
Also, I couldn't get "Bob's" files to be recognized as a git repository, even after saving changes and ensuring I was in the proper directory. (I’m using AWS’s Cloud 9, by the way; I mention this in case it’s a factor.) After running `git init` to create a git repository out of "Bob's" directory, however, everything worked fine. If you run into the same problem, try this step.
Section 4.2.1, Non-conflicting Changes. After “Bob's” push got rejected by GitHub, I had “Bob” enter `git pull`. At this point, however, I got something like this on my screen:
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per
hint: invocation. fatal: Need to specify how to reconcile divergent branches.

This seemed to be asking for a configuration preference. Should I specify one? What if I made the wrong choice – how would I undo it? I remember Dr. Hartl saying to avoid `rebase` for now. I searched online but was still not understanding much. However, by following what someone had posted on Stack Overflow (and modifying `master` to `main`), I tried these three steps in order: 1. `fetch` [Here, nothing happened on the screen.] 2. `git log --graph --oneline origin/main my/branch` [Again, nothing seemed to happen.] and then 3. `git merge origin/main`. At this point, GitHub seemed to be going ahead with the merge and then put me at the Vim editor, which is where we were supposed to be in the tutorial (phew!). Perhaps a simple `git merge` was all that was needed with these two simple non-conflicting commits. This tutorial on `git merge` might be helpful down the road.
Section 4.3, Pushing Branches. On AWS Cloud 9, I wasn't able back in Section 3.3, “Branching and Merging”, to copy and paste the trademark symbol in the about.html file, so I just typed in the letters “TM”. But now in this lesson, including the meta tag didn't fix the "TM" problem. I looked this up online and found that you could type `™` right where you want the "TM" to appear, and doing this fixed the issue. In other words, on our page, I typed this: ‘Learn Enough™ Git to Be Dangerous’, which resulted in the capital letters "TM" appearing in superscript right after the word "Enough".
These "HTML entities" or "character entities", as these pieces of text are called, come in handy when you're typing HTML text and you want to either (1) call up characters not readily accessible on a standard keyboard, or (2) display characters reserved and usually interpreted as HTML code (such as the `<` symbol). At the bottom of the linked page is a link to a whole reference list of these entities.
Section 4.4, A Surprise Bonus. There's a slight difference in what you need to do to use GitHub Pages from what is in the tutorial, probably due to GitHub updating their site. It isn’t hard to figure out, but I'll mention it here to save you some time. On your "website" main page on Github, after you hit "Settings" near the top of the page, you need to click on "Pages" on the left side of the screen in order to get to the proper place shown in Figures 4.23 and 4.24.
If you feel stuck at any point, feel free to leave me a message using the blue chat button below and I’ll try to help. Even better, reach out using the course Slack chat and you’ll have access to many more students for assistance!




