Another course that I was responsible for this quarter was an introductory course for Git. I had used Git before, but mostly for downloading repositories and building what I had cloned. I was excited about the opportunity to learn a bit more about this ubiquitous tool, seeing as nearly every open source project uses git extensively these days. Like a lot of people, I used to think of Git as being just GitHub. I was amazed at all of the different implementations of git server platforms there really are (GitHub, gitweb, GitLab, and others). Spoiler alert: in Source Control with Git, we show you how to set up your own git server.
What fascinated me the most is how Git stores its information. Git was originally developed by Linus Torvalds (of Linux kernel fame), and his love for file systems really shines through in Git’s architecture. Have a look here for our rundown of the structure of a Git repository to see for yourself. As we go through the course, we refer back to this structure a lot so that we can help keep all of the topics that we discuss tied back into this core aspect. Understanding how Git stores the information from your project is crucial for working with Git’s toolset.
This course was designed to take an absolute beginner to Git and walk them through how to set up their own project repository and start using it. As we go along, we discuss the basic elements of what it takes to have Git keep track of your project’s history, and how you can view that history yourself. We also explore the fundamentals of submitting your own contributions to an outside project, along with the elements of what it takes to fork a project (and why you would want to do so). We also show you how to keep your project’s repository clean with the git garbage collection command and with the use of a gitignore file. Do you want to add someone else’s contribution to your project? We demonstrate how to accomplish that as well.
Honestly, my favorite part of the course is where we show you how to set up your own GitLab server. GitLab is a beast of a software bundle, but we show you how to get up and running with it quickly and provide you with the basic knowledge needed to get a project set up to start securely collaborating with others.
As with all Linux Academy courses, we offer quizzes and hands-on learning activities to help you reinforce what you have learned in the course. There are also flashcards to help you remember commands and concepts. Please be sure to stop by our community forums to provide feedback on the course, and to rate the videos as well. It is your input that helps us to drive forward and put together new and better content to help with your learning needs. So try out the Source Control with Git course and have fun!