I am currently travelling and working in Hong Kong and Shanghai – which I have been looking forward to all year, and am loving. BUT, unfortunately, this is also the week that my General Assembly course started (Back End Web Development).
So, I am missing the first two lessons, and originally I thought that this would be no big deal because maybe it would cover some very basic stuff, which I already knew – but of course the basic stuff they are covering is GitHub! My nemesis! I understand that GitHub is amazingly useful – but I can’t wrap my brain around it, and wished that I didn’t miss this lesson, of all lessons.
Our super helpful tutor has, however, provided us with lots of references to help us with it – so I am trying to combine work with study (not only this weeks lessons, plus homework, but the prep work too! Agghh! Already behind!) and also not spend all my time in these amazing cities indoors. This would all have gone a lot smoother had I not also just discovered The Walking Dead (yes, three years behind as usual).
Ok, so these are the extra things I have learned from the first weeks course in BEWD (Back End Web Development).
My tutor recommended this tutorial for learning the basics of the Command Line.
I think this is great because it lists and explains all the main commands, and I’m sure I’ll use it many times in the future when I need to understand how to do something in Terminal. BUT I was hoping for some simpleton explanation of what they are talking about when they say “BASH” or “Shell”. Having said that, I know there are a million explanations online about that…
The writer also reinforced that you shouldn’t just get random advice from idiots on the internet, in case they are getting their fun by making strangers wreck their computers…I am so naive I never thought of that, but I assume StackOverflow would weed out those kind of things, so I will keep using it.
Git Cheat Sheet
Look at this awesome Git cheat sheet.
Even though it is a cheat sheet, they found space to put in some basic explanation, which I need:
Git is a free & open source, distributed version control system …GitHub is the best way to collaborate around your code. Fork, send pull requests
and manage all your public and private git repositories….Heroku is a cloud application platform that supports a number of different programming languages…
The rest of it is extremely useful, and if I had a desk with a wall, I’m sure I would print it out and put it up there. (Maybe I should get a desk, and a wall next to it…?)
(Actually, I just downloaded it, and then used my command line skills to move it into my learning folder. Tricky!)
Here the tutor recommended these introductory Videos for Git
I have a lot of trouble with getting my head around Git (and GitHub), and even though I have already written about this on my blog before, it still doesn’t stick in my head.
These are great introductory videos to Git – explaining the concepts, and some easy command line keywords – but I still find the workflow confusing, and also the concept of where all this historical information is stored on my computer, and how I would access it. I need more lessons obviously.
Also, I wish that video had a transcript, because at some points I wanted to repeat, repeat, repeat to try and understand, and rewinding is just annoying.
Practising With Git
Finally, our tutor recommended Code Schools ‘Try Git’.
I like being able to actually try things, so I liked this tool. It also introduced me to a few new keywords which helped me better understand the point of git.
$ git status which I hadn’t used before, and it is really useful to help you understand. I was using this after every operation!
$ git log – nowhere else had yet explained to me that I could use this to read the logged changes. This was an essential question I had – why am I recording all these changes if I can’t go and look at the history!
$git diff – to see the differences between versions.
$git reset – to remove things from the staging area.
Anyway – obviously all these commands are in that excellent git cheat sheet – this tutorial just helps you have a go at using them.
The only thing I wish was different about this set of tutorials is I wish they had explained more about what the output of all these commands meant.