🚀 Level Up with These Essential Git Commands

Introduction

Git is an indispensable tool for developers across all domains. As someone who works with both data engineering and MERN stack development, I've found these Git commands to be incredibly useful in my daily workflow. Let's explore them together!

Must-Know Git Commands

1. 🔍 git diff

Purpose: Show changes between files, commits, or branches.

Usage: Compare your working directory with the index or a previous commit.

git diff

2. 📜 git log

Purpose: Display the commit history.

Usage: Track changes, find specific commits, or understand project history.

git log

3. 📥 git clone

Purpose: Clone a remote repository to your local machine.

git clone https://github.com/username/repository

4. ⬇️ git pull

Purpose: Fetch and merge changes from the remote repository to your current branch.

git pull origin main

5. ⬆️ git push

Purpose: Push your local commits to the remote repository.

git push origin main

6. 🕵️ git blame

Purpose: Show who last modified each line of a file and when.

Usage: Great for debugging or understanding change history.

git blame filename.txt

7. ⚔️ Merge Conflicts (Concept)

Note: Merge conflicts happen when two branches modify the same part of a file.

To simulate a merge conflict:

git checkout -b new-branch
# Make changes, commit them
git checkout main
# Make conflicting changes
git merge new-branch
# Conflict occurs here

You'll need to manually resolve the conflict in the files and commit the resolution.

8. 🌿 git branch

Purpose: List, create, or delete branches.

git branch           # List branches  
git branch feature   # Create a branch  
git branch -d feature  # Delete a branch

9. 🚀 git checkout -b

Purpose: Create and switch to a new branch in one step.

git checkout -b new-feature-branch

10. 📁 .gitignore

Purpose: Tell Git which files or folders to ignore in version control.

Steps to set up:

  1. Create a .gitignore file in your root directory.
  2. Add patterns of files or folders to ignore.

Example:

*.log
node_modules/
.env

No command is needed — Git will automatically skip tracking files that match the patterns.

Practical Workflow Examples

Here's how these commands fit into a typical development workflow:

  1. Start a new project:
git clone https://github.com/username/project
  1. Create a feature branch:
git checkout -b new-feature
  1. Make changes and check differences:
# After editing files
   git diff
  1. Commit your changes:
git add .
   git commit -m "Add new feature"
  1. Push to remote:
git push origin new-feature
  1. Keep your branch updated:
git pull origin main
  1. Investigate issues:
git blame problematic-file.js

Conclusion

These Git commands have become essential tools in my development workflow. Whether you're working on MERN applications or data engineering projects, mastering these Git techniques will dramatically improve your efficiency and collaboration capabilities.

What Git commands do you find most useful in your projects? Let me know in the comments!


Written by Sakthivel R

Data Engineer | MERN Stack Developer