“Torvalds (who designed and developed .git) has quipped about the name git, which is British English slang roughly equivalent to ‘unpleasant person’. Torvalds said: ‘I’m an egotistical bastard, and I name all my projects after myself. First ‘Linux’, now ‘git’.’ The main page describes git as ‘the stupid content tracker’.
– From the Wikipedia article – Git (software)
The name may sound funny to British ears, but learning how to use Version Control is an oft-suggested necessity for web developers, Git is currently very popular and it’s time to take a look. Version control solves the problem of what might seem to the lonely web designer, a minor quibble, however from my research it’s regarded a pretty important skill (and you don’t want to look the fool in conversation at Lord Harrington’s summer gala ball feast).
What’s that problem then? If you have multiple developers working on the same “Fizz Buzz” program what happens when Harrington wants the program to glow purple and earl Gillingham wants the program to fade in and turn blue, how do you reconcile their separate changes? Well, imagine VC like a tree where we have a master branch (controlled by the lead-dev), well our nobleman can each create their own copies (“fork” in git terms) that evidence their changes, the lead developer can then decide to incorporate whichever changes they choose. It shows the programs progression, which is vital for debugging, monitoring changes and keeping the noblemen happy (at they compete by issuing “pull requests” to the lead dev).
Now there are different VC sites, and various 3rd-party GUI git clients (note: Some people will get mad at me for using a GUI client for git and tell me I should be using the command line…more in a second). I use Github and I lazily use it through the GUI. (I also use Linux where I’ve found it’s command line much more accommodating, particularly when authenticating with SSH – which I found a struggle on Windows – huzzah for the Windows haters!) For new lad’s I would start with the GUI (always telling yourself you’ll leave the abusive simplicity of the GUI for the clean efficiency of the command line), and go here to get started. You can also look here to help make sense of it all. Once you’ve signed up you can create your first repo, I think git is simple to use, however there is a complexity to it so don’t worry if your still a bit confused. (also Will had a video that might help: LearnCode.academy).
You’re ready to see some action, go to my Github page and navigate to the “jQuery-workingPro–spinExplode” repo (bit of a mouthful). Here you can “fork” the master branch, (or clone, for the differences refer here. To me, at this stage Git can become quite complex, there seems to be a fair bit of nuance the further you go. Let’s keep it simple for now.) you should have a copy of the spinExplode program, you should now make some changes, push the new copy back and maybe make a pull request (if you’re brave!).
I recommend you start using Git regularly, even if your not working in a team, use it to store your projects, make commits, keep a nice readme.txt file. I’m sure you’ll see the benefits, and at the very least, to impress upon the provincial lords & ladies your steady determination for all things programming related.
1. Github: Setup a Github account and make sure you have Git working on your local machine. (look for the resources above for any help)
2. Visit my Github page and find the Spin-Explode program. Grab a copy (“fork” or “clone”) and make some changes (try making more boxes, a bouncing box, a disco box…).