Skip to main content

Preface How To Use This Book

Congratulations on deciding to explore the command line! The ideas explained in this book are quite useful, espeically if you plan to go into a coding career, need to store code files publicly, and/or need some version control. This book is designed for those who have no experience with Git, GitHub, or the command line. I assume that you have never touched your terminal (or even know what one is). I don’t assume you have a GitHub account or know anything about how to use Git.
Git is an incredibly powerful tool, but it does come with a learning curve. While there are text editors and interfaces out there that make using Git somewhat easier, I believe that it is best to learn the Git essentials the “harder” way. I hope that in doing so you will be able to better understand the steps in the Git process and that using the features in text editors will be easier. Rather than just memorizing how to use a text editor or the commands to enter, I take a more direct approach and show you Git on the command line to help you understand the process. Once you have that down, you can apply the same skills to a variety of different interfaces as you explore new software and resources.
The book is broken up into a few pieces:
  1. Multiple prefaces explaining necessary materials depending on your operating system (Materials: Windows, Materials: Mac, Materials: Linux)
  2. Introductory materials introducing general computer basics, etiquette, and recommended practices (Chapter 1) and an introduction to the command line (Chapter 2)
  3. A detailed introduction and get-started guide to GitHub (Chapter 3) and Git (Chapter 4) when working alone
  4. A detailed introduction and get-started guide to GitHub (Chapter 5) and Git (Chapter 6) when working with collaborators
  5. Appendices with some bonus features, resources, and troubleshooting
The best way to use this book is to first determine where you are in terms of knowledge. Do you know anything about the terminal? If so, you might consider jumping to Chapter 3. Do you know about GitHub, but not the terminal? Perhaps start with Chapter 2 then move to Chapter 4. Regardless of the path you choose, I highly recommend at least scanning the sections in Chapter 1. I do assume you have an idea of the topics in that chapter and hope you at least consider adopting some of the recommended practices. If you have no idea what anything is in this book, start at the beginning and just read consecutively.
That being said, be aware that skipping chapters or sections may cause a disconnect between the book activities and your participation. Most sections have activities scattered throughout and some chapters even have a lengthy extensive activity at their ends and these activites build off of one another. Even if you want to skip chapters, it might be worth it to take the time to participate in these activities along the way. If you are unfamiliar with the content, be sure to follow along with the activities.
The book is designed to be interactive where you follow along as you read; however, it is not a traditional textbook filled with exercises, definitions, and theorems. I am not testing you on any of this as I believe that Git and GitHub are skills best learned by doing, not through an exam. Feel free to make mistakes, break things, and revist chapters you forgot or didn’t understand completely. Answers to activities and exercises can be found in Appendix E.
As you read, if anything starts to become too confusing or overwhelming, take a break. While a dedicated reader might be able to read this book and complete the activities in one day, it is not recommended to do so. There is quite a bit of new content here and too much at once will certainly lead to an information overload. So take your time, read carefully, and, again, don’t be afraid to reread parts of the book anytime you need a refresher on things. If you think that something deserves more attention and more explanation, feel free to open an issue on GitHub (don’t know how? see Section B.1) and let me know.
If you are prepared to dive in, visit the following prefaces to download the necessary materials, then proceed to learning!

Known Issues.

There are certain parts of the book that could be better. I list some below.
  • Some figures, particularly the branch diagrams, are blurry from file conversion.
  • Images could probably use better alt text
  • Certain parts of the appendices need more content for Windows and Linux users
  • As I am not a professional index creator, some entries may need to be moved around, some may need to be added, and/or other edits