📄️ Introduction to Git
In this chapter, we aim to define a Version Control System (VCS), understand Git's purpose and functionality, learn to initialize a Git repository with 'git init', grasp the concept of snapshots for tracking code changes, appreciate Git's collaborative benefits, and familiarize ourselves with the '.git' folder. Git is an open-source distributed version control system that enables developers to track code versions over time. It simplifies collaboration and provides a safety net through snapshots. By installing Git, you can initialize a repository with 'git init', creating the essential '.git' folder. If needed, the repository can be removed with 'rm -rf .git'. These foundations set the stage for exploring Basic Git Commands.
📄️ Basic Git Commands
In this chapter, our objectives are to understand and utilize basic Git commands effectively. We will learn the purpose of commands like git add, git commit, and git status, and explore the different stages involved in adding and committing files. By adding files to the staging area and committing them, we can create snapshots of our code. We will also practice using git log to view commit history and learn how to navigate it. Through exercises, such as creating files, tracking changes, and performing commits, we will gain practical experience with Git's fundamental operations.
📄️ Configuring Git
In this chapter, our objectives are to configure Git effectively. We will learn how to change global Git configuration settings, such as specifying the author name and email for commits. Additionally, we will explore the concept of Git aliases, which allow us to create shortcuts for frequently used Git commands. By customizing our Git configuration, we can enhance our workflow and improve efficiency. The global configuration settings are stored in the .gitconfig file in the home directory. Through practical examples, we will gain hands-on experience in configuring Git.
📄️ Git Basics: Exercises 1.1
Now that you have learned the basics of Git workflow, try running through this a couple of times on your own:
📄️ Introduction to GitHub
In this chapter, we will explore the fundamentals of GitHub. GitHub is a web-based hosting service for Git repositories that facilitates collaboration among developers. While Git is a version control system, GitHub provides additional features for sharing and managing code. We will compare Git and GitHub, understand the benefits of using GitHub for code storage and collaboration, and delve into concepts specific to GitHub, such as forking and pull requests. Additionally, we will highlight popular projects hosted on GitHub and guide you through creating a GitHub account. The next step is to proceed to the chapter on Working with Remotes.
📄️ Working with Remotes
📄️ GitHub Workflow
📄️ GitHub: Exercises 1.2
Let’s start by taking a bit of time to practice the git workflow below. It is so valuable to just practice this workflow a couple times, since you will most likely doing it professionally as well as in your individual projects and open source contributions. Here are some things to do.