This is the weekend before my coding bootcamp starts. Last Friday was the install party, which I think went well. Over this weekend, we were essentially given three lessons to cover. The first two on using the Finder in macOS and using Terminal were straightforward. I’ve been using a Mac for many years and anyone who has used a Mac will breeze through the Finder lesson.
The Terminal lesson was also easy, as I’ve used the command line for many years and I can change directories, create files, run simple shell scripts, etc. There was also a bit in there about using tar to create and extract archives. Simple.
The third section was on using Git. Yup. Git. I’ll skip the whole thing about Git just being a directed acyclic graph, and say that I’m pretty comfortable already with committing, simple branching, and using remotes. Things get a bit more difficult for me when you start talking about cherry-picking commits, merging, and rebasing. I found it interesting that the lesson material went into considerable depth with these things. For someone who has never written code before, my thought is that this is an awful lot to take in. I also think it’s excellent that we are using version control from day 1.
As part of the lesson, we went to learngitbranching.js.org. This is a great website, once you figure out how it works. Our lesson recommended that we complete a few of the more advanced challenges. I went back to the beginning and finished them all (with the exception of the very last one that involves ‘rebasing over 9000 times’ !?!?! what?). I definitely learned some new skills here — and also became a bit more fluent with rebasing and merging. Although I’m still a bit frightened when merge conflicts start popping up.
I’m sure that as the next few weeks unfold I will get more of a chance to practice using Git and different workflows. That will certainly improve my fluency with the tool.
Before Monday I need to go back over my notes, experiment with Git on my own a little, and write up questions I have for Monday.