Looking to learn more about GitHub? Tamara Fultz from the Thomas J. Watson Library at the Metropolitan Museum of Art has written an informal starter guide. (Shared from her blog with permission.)
I am officially a busy person – I finally enrolled in the Flatiron School’s Introduction to Front-End Web Development course which begins in February. Sadly, I couldn’t do the intensive program which includes Ruby, but I would have had to quit my job for that and my daddy isn’t Donald Trump (one thing I am actually glad of, but I do wish my mom was Hilary Clinton!). So I have started with the pre-work for the Front-End course – naturally it leads with the command line which I pretty much have down now. Next it introduces Git and GitHub and, boy, do I feel glad I had already started the pre-work for the Ruby intensive class! If I were a raw recruit, the Flatiron’s 1 hour and a half video onGit Basics would have overwhelmed me. So what are Git and GitHub? I am happy to let you know:
Git = is a very widely used version control system – it is a free and open source software. As a version control system, it gives you access to previous versions of your files, allows you to make back-ups of your code, and lets you easily share code and collaborate on projects with other individuals.
GitHub = is a web-based repository for code that facilitates the sharing of code using Git. GitHub has become so much more than a mere repository, though: many individuals now use GitHub as an online portfolio of their programs and academic institutions use GitHub to document and share code from their major digital projects (want to see the code for NYPL’sStereogranimator? Just go to @nypl/Stereogranimator on GitHub).
Now that I have piqued your interest (or not), check out some of these resources for more information.
Git and GitHub Resources
Git Cheat Sheet = Pretty much just the commands, but that is a good thing!
An A-Z Index of the Apple OS Command Line = Some generous soul created this index of commands. It explains how they work and the flags that go with each command. You will need this.
Code School’s Try Git = I don’t really recommend this brief course as your first introduction to Git for a number of reasons. While it comes across as simple, at least in terms of its definitions and descriptions of the commands, the pseudo-command line gives a false sense of security. Frankly, you need to be using Git in conjunction with a Unix-style command line and I think it is confusing for beginners to go from a very controlled (i.e. “fake”) environment to the real world command line.
Official Git Videos = Okay, I won’t lie… these videos are a bit on the dull side. But they do a great job of explaining what precisely version control is and why Git is so important for collaborating “knowledge workers.” You really aren’t going to learn a lot about HOW to use Git with these videos, though.
Udacity’s How to Use Git and GitHub = The videos in this course are so much more entertaining than the official Git videos. This is a real structured course (unlike the Code School’s course) with both lecture videos and assignments. I advocate starting here, but it is an 18-hour commitment. Probably worth it in the long run, because these videos are amusing, chock-full of useful tidbits, and heavy on the girl-power. Also, kudos for the closed-captioning! They do start out with what I consider an odd first command, but hang with it – the command is at the heart of why version control is important. Oh, and they do assume a bit of command line knowledge, but they give guidelines and direct you to tutorials if you don’t already have it. All that being said I am far from completing their course.
Pro Git book = I haven’t read this book, but, hey, it exists and you can download it for free. It can’t hurt to look at it.
Ry’s Git Tutorial = is another free book. I have been working through this one and I can’t say enough good things about it. I have the ebook, but you can also work through the tutorials online – it is up to you. What is great about this tutorial is that it has you create mini-HTML files to work with, so get a true sense of how workflows operate with Git – I imagine that is an invaluable experience.
Finally, if you are a librarian check out the following article: Git and GitHub for Librarians (sorry, not free) by Robin Camille Davis.
On a final note, the lecturer in the Flatiron Git videos kept mentioning “SSH Keys” and, while I knew where to find them on GitHub, I didn’t have a clue what they were or why they were important. It was driving me crazy! A quick Google search taught me that SSH stands for “Secure Shell” – a network protocol that allows you to securely (ahem!), remotely login without a password. GitHub prompts you with a SSH key when you want to clone a file. Right now that is the extent of my knowledge about SSH keys.