DEV Community

Cover image for What is Git and How to Use It: A Beginner's Guide to Version Control with Daily Useful Commands
BuildWithGagan
BuildWithGagan

Posted on

1 1 1 1 1

What is Git and How to Use It: A Beginner's Guide to Version Control with Daily Useful Commands

Git is an essential tool for developers and anyone working with code. If you’re a beginner looking to understand what Git is used for and how to use it efficiently, you’ve come to the right place. In this comprehensive guide, we’ll cover everything from the basics of Git to real-world scenarios, including daily useful commands that will help you become a Git pro—step by step.

Introduction to Git: The Version Control System You Can’t Ignore

Git is a distributed version control system (VCS) used for tracking changes in files, mainly in software development projects. It enables multiple developers to collaborate on the same project without the risk of overwriting each other's work. Git is not just for developers, though; it’s useful for any kind of project where tracking changes is important.

Why Do You Need Git?

  • Version Control: Git allows you to manage and keep track of different versions of your code or files.
  • Collaboration: Multiple people can work on the same project without interfering with each other’s work.
  • Backup: Git provides an effective way to back up your code and easily restore it to any previous state.

In this guide, we’ll dive into essential Git commands, explain their usage, and provide practical examples to help you master Git from the ground up.


Setting Up Git: The First Step to Git Mastery

Before diving into using Git, you need to install and configure it on your system.

Step 1: Install Git

  1. For Windows: Download Git from git-scm.com. Follow the installation steps with default settings.
  2. For Mac: Open your terminal and type brew install git if you have Homebrew installed. Alternatively, download Git from git-scm.com.
  3. For Linux: Open a terminal and type sudo apt install git for Ubuntu or use the relevant package manager for your Linux distribution.

Step 2: Configure Git

Once Git is installed, you need to configure it with your name and email address. These details will be associated with your commits.

Run the following commands in your terminal (replace the placeholders with your actual name and email):

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
Enter fullscreen mode Exit fullscreen mode

Core Git Concepts

Before we get into the daily commands, let’s quickly review a few fundamental Git concepts:

  • Repository (Repo): A repository is a directory where Git tracks your files and their versions.
  • Commit: A snapshot of changes in your files. Each commit has a unique identifier (hash).
  • Branch: A separate line of development. You can create branches to work on new features or fixes without affecting the main codebase (usually called main or master).
  • Remote: A version of your repository stored on a server, such as GitHub, GitLab, or Bitbucket.
  • Clone: A copy of a remote repository on your local machine.
  • Push: Uploads your local changes to the remote repository.
  • Pull: Fetches the latest changes from the remote repository to your local machine.

Daily Useful Git Commands for Beginners

Now that we’ve covered the basic setup and concepts, let’s go through the daily Git commands you’ll need to use regularly, along with detailed examples of each.

1. git init: Creating a New Git Repository

The first command you need when starting a new project is git init. This command initializes a new Git repository in your project folder.

Example:

mkdir my-project
cd my-project
git init
Enter fullscreen mode Exit fullscreen mode

This creates a new .git directory, allowing you to start versioning your project.

2. git clone: Copying an Existing Repository

If you want to work on an existing project from a remote source (e.g., GitHub), you’ll need to clone the repository to your local machine.

Example:

git clone https://github.com/username/repository-name.git
Enter fullscreen mode Exit fullscreen mode

This command copies the repository from the specified URL to your local machine, including all the files and version history.

3. git status: Checking the State of Your Working Directory

The git status command is one of the most commonly used Git commands. It shows the current state of your working directory and staging area, letting you know which files have been modified, added, or are untracked.

Example:

git status
Enter fullscreen mode Exit fullscreen mode

Output:

On branch main
Your branch is up-to-date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   index.html
        modified:   style.css
Enter fullscreen mode Exit fullscreen mode

4. git add: Staging Changes for Commit

After you modify files, you need to stage them before committing them to the repository. The git add command is used to stage individual files or all modified files.

Example (staging a single file):

git add index.html
Enter fullscreen mode Exit fullscreen mode

Example (staging all modified files):

git add .
Enter fullscreen mode Exit fullscreen mode

5. git commit: Recording Changes

Once you’ve staged your changes, use the git commit command to record them. You’ll also need to provide a commit message explaining the changes you made.

Example:

git commit -m "Fixed bug in the login feature"
Enter fullscreen mode Exit fullscreen mode

6. git log: Viewing Commit History

To view the history of commits in your repository, use the git log command. This will display a list of commits, including the commit hash, author, and message.

Example:

git log
Enter fullscreen mode Exit fullscreen mode

Output:

commit abc1234def5678ghijk9
Author: Your Name <your_email@example.com>
Date:   Thu Mar 21 10:00:00 2025 -0400

    Fixed bug in the login feature
Enter fullscreen mode Exit fullscreen mode

7. git push: Uploading Local Changes to Remote Repository

After committing your changes locally, you’ll likely want to upload those changes to a remote repository (such as GitHub). This is where the git push command comes in.

Example:

git push origin main
Enter fullscreen mode Exit fullscreen mode

This command pushes your local commits to the main branch of the remote repository.

8. git pull: Fetching Changes from the Remote Repository

To update your local repository with changes made by others, use git pull. This command fetches and merges changes from the remote repository to your local branch.

Example:

git pull origin main
Enter fullscreen mode Exit fullscreen mode

9. git branch: Listing and Managing Branches

You can create separate branches to work on different features without disturbing the main codebase. The git branch command allows you to list and manage branches.

Example (listing all branches):

git branch
Enter fullscreen mode Exit fullscreen mode

Example (creating a new branch):

git branch feature-xyz
Enter fullscreen mode Exit fullscreen mode

10. git merge: Merging Changes from One Branch to Another

Once you’ve finished working on a feature in a separate branch, you can merge it back into the main branch using git merge.

Example:

git checkout main
git merge feature-xyz
Enter fullscreen mode Exit fullscreen mode

Conclusion: Mastering Git Step by Step

Git is an indispensable tool for developers, and mastering its commands is key to being productive and efficient. By learning the basic Git commands covered in this guide—such as git init, git add, git commit, and git push—you’ll be able to handle version control and collaboration on any project with ease.

As you continue working with Git, you’ll become more familiar with advanced commands and workflows. But for now, these basic commands will be more than enough to get you started and help you implement Git in your daily workflow.


With this guide, you now have the foundational knowledge and practical steps to begin using Git in your daily workflow. Whether you’re working on a personal project or collaborating with others, mastering these commands will help you manage code changes effectively. Keep practicing, and soon you’ll be a Git pro!

AWS Q Developer image

Your AI Code Assistant

Generate and update README files, create data-flow diagrams, and keep your project fully documented. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

If this article connected with you, consider tapping ❤️ or leaving a brief comment to share your thoughts!

Okay