A Beginner’s Guide to Git and Its Frequently Used Commands

Vijayasankar Balasubramanian
4 min readJan 6, 2025

--

Git is a powerful version control system widely used in software development. It helps developers track changes in code, collaborate on projects, and manage versions effectively. Created by Linus Torvalds in 2005, Git has become an essential tool for teams of all sizes. This essay will provide an overview of Git, its significance, and a detailed guide to its frequently used commands with practical examples.

What is Git and Why is It Important?

Git is a distributed version control system, meaning every user has a complete copy of the project’s history. Unlike centralized systems, Git does not rely on a single server, which makes it faster and more robust against failures. Key benefits include:

1. Collaboration: Multiple developers can work on the same project without overwriting each other’s changes.

2. Version Tracking: Git records every change, allowing developers to revert to previous versions if needed.

3. Branching and Merging: Developers can create branches to work on features independently and later merge them into the main codebase.

4. Efficiency: Git is designed to handle large projects with speed and minimal overhead.

Getting Started with Git

Before diving into commands, you need to install Git and configure it.

Installing Git

  • On Linux: sudo apt install git
• On macOS: brew install git
• On Windows: Download the installer from git-scm.com.

Initial Configuration

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

These commands set your username and email, which Git associates with your commits.

Frequently Used Git Commands

Below is a curated list of Git commands categorized by purpose, along with examples.

  1. Basic Commands
git init

Initializes a new Git repository in your project folder.

mkdir my_project
cd my_project
git init

Output: Initializes an empty repository in the folder .git/.

git clone

Clones an existing repository from a remote source.

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

Output: Creates a local copy of the repository.

git status

Displays the status of your repository, including staged, unstaged, and untracked files.

git status

Output: On branch main

Untracked files:
. (use "git add <file>…" to include in what will be committed)
. file.txt

2. Staging and Committing

git add

Stages changes for commit.

git add file.txt. # Adds a specific file
git add . # Adds all files in the current directory
git commit

Records changes to the repository with a message.

git commit -m "Added a new feature"

Output:

[main 123abc] Added a new feature
1 file changed, 10 insertions(+)

3. Branching and Merging

git branch

Lists branches or creates a new branch.

git branch. # Lists all branches
git branch feature-1. # Creates a new branch

git checkout (or git switch)

Switches to a different branch.

git checkout feature-1. # Old syntax
git switch feature-1. # Recommended
git merge

Merges changes from one branch into another.

git checkout main
git merge feature-1

Output:

Updating 123abc..456def
Fast-forward
file.txt | 10 ++++++++++
1 file changed, 10 insertions(+)

4. Viewing History

git log

Shows commit history.

git log

Output:

commit 456def (HEAD -> main)
Author: Your Name <your.email@example.com>
Date: Thu Jan 1 12:34:56 2025 +0000. Added a new feature

git diff

Displays changes between commits or working directories.

git diff

5. Collaboration Commands

Fetches changes from a remote repository and integrates them into your local branch.

git pull origin main

git push

Pushes local changes to a remote repository.

git push origin main

6. Undoing Changes

git reset

Unstages files or resets to a previous commit.

git reset HEAD~1. # Resets to the previous commit

git reset file.txt. # Unstages the file

git revert

Creates a new commit that undoes changes from a previous commit.

git revert 123abc

7. Tagging

git tag

Creates a tag for a specific commit, often used for releases.

git tag v1.0.0

git push origin v1.0.0

Practical Workflow Example

Here’s a simple example of a typical Git workflow:

1. Clone the repository:

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

cd repo

2. Create a new branch for a feature:

git branch feature-1

git switch feature-1

3. Make changes and commit:

echo “New feature” >> feature.txt

git add feature.txt

git commit -m “Added feature.txt with new feature”

4. Push the changes to remote:

git push origin feature-1

5. Merge the branch into the main branch:

git switch main

git merge feature-1

git push origin main

Conclusion

Git is an indispensable tool for developers, enabling efficient collaboration, version control, and code management. By mastering the frequently used commands discussed in this essay, you can significantly improve your productivity and ensure seamless project workflows. Whether you are a beginner or an experienced developer, Git’s versatility and power make it a must-have skill in today’s software development landscape.

--

--

Vijayasankar Balasubramanian
Vijayasankar Balasubramanian

Written by Vijayasankar Balasubramanian

Java Solution Architect, Java Full Stack Engineer

No responses yet