Student here. Why do you run a localhost web server before pushing to git? Is this a git thing? (I am a newbie to github). Thanks. I like this nice short article.
Now as to why start the simple http server to check your work vs. opening the index.html file directly in the browser:
1) relative links can behave in an unexpected manner using the file:// path, and you'll get more consistent behavior using the server
2) There are sometimes permissions errors loading scripts into the page when it's displaying through file:// (relatedly, protocol relative links eg. //code.jquery.com/jquery-2.1.3.min.js won't work).