Git - A Beginner's Guide

Introduction
In the world of version control systems, Git has emerged as a powerful and widely used tool for managing and tracking changes in software development projects. This blog post aims to provide beginners with a solid foundation by introducing key Git commands and highlighting the distinctions between Git and GitHub.
1. Understanding Git
Git is a distributed version control system that allows developers to track changes in their codebase. It offers a decentralized approach, enabling multiple contributors to work on a project simultaneously. The core concepts include repositories, branches, commits, and merges.
2. Install Git
Download Git:
For Windows: Visit [Git for Windows](https://gitforwindows.org/) and download the installer. Follow the installation instructions.
For macOS: You can use Homebrew (`brew install git`) or download the macOS installer from [Git Downloads](https://git-scm.com/download/mac).
For Linux: Use your package manager. For example, on Ubuntu, you can run `sudo apt-get install git`
Installation:
On Windows, follow the installation wizard. The default settings are usually fine.
On macOS, open the downloaded package and follow the installation prompts.
On Linux, use your package manager as mentioned above.
Verify Installation:
Open a terminal (or Git Bash on Windows) and run the following command to check if Git is installed: `git --version`.
This should display the installed Git version.
Configure Git:
- Set your username and email using the following commands (replace "Your Name" and "your@email.com" with your actual name and email):
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
Optional: Set Default Editor:
- You can set your preferred text editor for Git. For example, to set it to VSCode, you can use:
git config --global core.editor "code --wait"
Essential Git Commands
git init
Initializes a new Git repository in the current directory.
git clone [repository URL]
Copies a repository from a specified URL to your local machine.
git add [file] and git add .
Adds changes to the staging area before a commit.
git commit -m "Commit message"
Records changes to the repository with a descriptive commit message.
git status
Shows the current status of your working directory and staging area.
git log
Displays a log of commits, showing commit messages, authors, and timestamps.
git pull
Fetches changes from a remote repository and merges them into the local branch.
git push
Sends local commits to a remote repository.
3. Git vs. GitHub
Git:
Version control system.
Local and distributed.
Manages code history, branches, and commits.
GitHub:
Web-based platform for hosting Git repositories.
Provides collaboration features.
Offers issue tracking, pull requests, and project management tools.
4. Git vs. GitHub: A Quick Comparison Table
Feature | Git | GitHub |
Type | Version control system | Web-based platform for Git repositories |
Control | Local and distributed. | Centralized collaboration platform |
Functionality | Manages code history, branches, commits. | Enhances Git with collaboration features. |
Conclusion
By mastering these fundamental Git commands, you're equipped to manage version control efficiently. Additionally, understanding the difference between Git and GitHub empowers you to leverage collaborative features in a centralized online platform. Happy coding!
Subscribe to my newsletter
Read articles from Monica Adikesavan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Monica Adikesavan
Monica Adikesavan
Lead DevOps Engineer, Technical Content creator and Trainer.