Git Basic Commands

Git Basic Commands: A Beginner’s Guide to Version Control

If you are starting your journey as a developer, you will quickly realize that writing code is only half the battle. The other half is managing that code effectively, especially when working with teams. This is where Git comes into play. Git is the most widely used version control system (VCS) that helps developers track changes in code, collaborate seamlessly, and maintain a clean project history.

But for beginners, Git can feel intimidating at first. The good news is, you don’t need to know everything from day one. Learning a few basic Git commands will allow you to start version controlling your projects with confidence. In this beginner’s guide, we’ll break down what Git is, why version control matters, and the essential Git commands every new developer should know.


What is Git?

Git is an open-source distributed version control system created by Linus Torvalds in 2005. Unlike centralized systems, Git allows every developer to keep a full copy of the project history on their local machine. This makes it fast, flexible, and reliable.

With Git, you can:

  • Track every change made to your codebase
  • Revert to previous versions if something breaks
  • Work on features in isolation through branches
  • Collaborate with other developers without overwriting each other’s work

In short, Git is like a time machine and collaboration hub for your code.


Why Version Control Matters

Before diving into commands, let’s briefly understand why version control is essential:

  • Safety Net: Mistakes happen. Git lets you roll back changes without losing your work.
  • Collaboration: Multiple developers can work on the same project without interfering.
  • Project History: Every change is recorded, making it easy to track progress.
  • Experimentation: You can create branches to test new ideas without affecting the main project.

Without version control, managing code becomes chaotic, especially in team projects. Git provides the structure needed for modern software development.


Setting Up Git

Before you start using Git commands, you need to install and configure it:

  1. Install Git
    • On macOS: brew install git
    • On Linux: sudo apt-get install git
    • On Windows: Download from git-scm.com
  2. Configure Git
    After installation, set your username and email (important for tracking contributions):

    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"

    To check your configuration:

    git config --list

Git Basic Commands Every Beginner Should Know

Now that Git is set up, let’s explore the most commonly used commands. These will cover everything from starting a repository to managing commits and collaborating with others.


1. Initializing a Repository

  • Command:

    git init 
  • What It Does:
    Initializes a new Git repository in your project folder. After running this, Git starts tracking changes.
  • Example:

    mkdir my-project
    cd my-project
    git init

This creates a hidden .git folder where all Git data is stored.


2. Cloning an Existing Repository

  • Command:

    git clone <repository-url> 
  • What It Does:
    Copies an existing repository (from GitHub, GitLab, or Bitbucket) to your local machine.
  • Example:

    git clone https://github.com/user/repo.git 

3. Checking Repository Status

  • Command:

    git status 
  • What It Does:
    Shows which files have been modified, staged, or are untracked. This is one of the most frequently used commands.
  • Example Output:

    On branch main
    Untracked files:
    (use "git add <file>..." to include in what will be committed)
    index.html

4. Adding Files to Staging Area

  • Command:

    git add <file-name> 

    Or add all files:

    git add . 
  • What It Does:
    Moves changes from your working directory to the staging area, preparing them for a commit.

5. Committing Changes

  • Command:

    git commit -m "Your commit message" 
  • What It Does:
    Records changes in the repository with a descriptive message. Always write clear, concise messages.
  • Example:

    git commit -m "Added homepage layout" 

6. Viewing Commit History

  • Command:

    git log 
  • What It Does:
    Displays a list of commits with details like author, date, and commit message.
  • Quick View:

    git log --oneline 

This shows a simplified, one-line history.


7. Branching

  • Command to create a branch:

    git branch <branch-name> 
  • Command to switch to a branch:

    git checkout <branch-name> 
  • New method (combined):

    git checkout -b <branch-name> 
  • What It Does:
    Branching allows you to work on new features without touching the main branch.

8. Merging Branches

  • Command:

    git merge <branch-name> 
  • What It Does:
    Combines changes from one branch into another. Usually, you merge feature branches into main or master.

9. Pushing Changes to Remote

  • Command:

    git push origin <branch-name> 
  • What It Does:
    Uploads your local commits to a remote repository like GitHub.

10. Pulling Updates from Remote

  • Command:

    git pull 
  • What It Does:
    Fetches and merges updates from the remote repository into your local branch.

11. Checking Differences

  • Command:

    git diff 
  • What It Does:
    Shows differences between your working directory and the last commit.

12. Undoing Changes

  • Undo changes in a file:

    git checkout -- <file-name> 
  • Undo the last commit but keep changes staged:

    git reset --soft HEAD~1 
  • Undo last commit and remove changes:

    git reset --hard HEAD~1 

Use these with caution, especially the --hard option.


13. Deleting a Branch

When a branch is no longer needed (for example, after merging a feature branch into main), you can safely delete it.

  • Command (safe delete):

    git branch -d <branch_name> 

    This deletes the branch only if it has already been merged into the current branch.

  • Force delete (use with caution):

    git branch -D <branch_name> 

    This deletes the branch even if it hasn’t been merged. Be careful, as you might lose unmerged work.

Example:

git branch -d feature-login 

This will remove the feature-login branch locally once its changes are merged.


Best Practices for Using Git as a Beginner

  • Commit Often: Small, frequent commits make it easier to track changes.
  • Write Meaningful Messages: Use messages that clearly describe what you changed.
  • Use Branches: Don’t work directly on the main branch for new features.
  • Pull Before You Push: Always pull the latest changes to avoid conflicts.
  • Backup Remotely: Use GitHub or GitLab to keep a secure remote copy of your project.

Common Mistakes Beginners Make

  1. Forgetting to Add Files Before Commit
    • Always check with git status before committing.
  2. Working on the Main Branch
    • Instead, create a feature branch for each new task.
  3. Ignoring Merge Conflicts
    • Take time to carefully resolve conflicts instead of overwriting.
  4. Poor Commit Messages
    • Avoid vague messages like “fixed stuff.” Be descriptive.

Wrapping Up

Learning Git basic commands is the first step to mastering version control. While Git offers advanced features, you don’t need to know everything to get started. With just a handful of commands—like git init, git clone, git add, git commit, git push, and git pull—you can confidently manage your code and collaborate with others.

As you practice, you’ll naturally pick up more advanced Git techniques, but the fundamentals covered here will serve you well on any project. Whether you’re coding solo or contributing to a large open-source repository, Git will be your best ally.

So fire up your terminal, try out these commands, and take control of your code with Git.