Sunday, October 19, 2014

Version Control - Git and Github

While waiting on the results of my first project, I went ahead and started the lessons for Version Control using Git and Github. I had started using Github on a different Udacity course (Make your own 2048), though I wasn't aware that Udacity had a class on using Git at that point.

I looked around for more information on using Github specifically, and though the documentation at Github's site is pretty good, I did find a quick course at CodeSchool on Git that was free. Unfortunately, the course there goes over the command line so quickly, that I really didn't feel like I had learned enough about it to retain the information.

When I started the Udacity course, I was relieved that the lessons were full of detail and did take the time to explain the different commands in such a way that I was able to really "get" the material, as well as practice using it.

I did not expect, though, that the GitHub portion would continue to use the git commands. From my previous work with the GitHub page, I expected it would be completely about the web interaction. Instead, the lesson correlated what I learned on the command line with the options in the web site.

One thing the course did not go over was the downloadable programs GitHub for Windows or GitHub for Mac. These programs basically allow you to do a lot of the command line work that is talked about in the lessons, and moves it into a GUI interface that works well to guide you through commits (including the ability to add commit messages without opening a separate editor) and looking at code differences in much the same way that 'git diff' does. This may have been left out of the lessons, in much the way that the HTML class talks about using IDEs as a tool instead of a crutch - the program simplifies the process, but you really need to know what is going on behind the scenes in order to use it to your best advantage.

Overall, like the HTML class, I have extended what I thought I knew well, and applied it in the projects each class presents. The training I am receiving in the nanodegree program is definitely making me feel like taking this series of courses is going to be well worth the time and effort.

No comments:

Post a Comment