What is GIT

Listen to Article
Click to start listening
Git & GitHub: The Two Tools That Changed How I Write Code Forever 🚀
By Ajit Kumar Pandit
Let me be honest with you.
When I first heard the word "Git" as a fresher, I thought it was just some fancy command-line tool that senior developers used to sound cool. I ignored it for way longer than I should have. I was literally copying entire project folders and naming them things like project_final, project_final_v2, project_FINAL_actual_final — don't laugh, you've probably done it too. 😄
Then one day, everything crashed. I lost two days of work because I accidentally overwrote a file. That was the day I finally sat down and learned Git properly — and honestly? It was a turning point in my career as a software engineer.
So today, I want to give you the guide I wish I had back then. No fluff, no jargon overload — just a real conversation about what Git and GitHub are, why they matter, and how to actually use them.
Okay, So What Exactly is Git?
Git is a version control system — basically, it's a tool that keeps track of every single change you make to your code over time. Think of it like a really smart "undo" button, except it remembers everything, forever.
Linus Torvalds (the Linux guy) built it back in 2005, and today it's the backbone of almost every serious software project on the planet — including the ones you use daily without realising it.
Here's the thing that clicked for me: Git doesn't just track your files. It tracks your entire project history like a timeline. You can jump back to any point, create parallel timelines (branches), and merge them back together. It's genuinely like a time machine for your code.
What Git lets you do:
Save snapshots of your project whenever you want
Go back in time if you break something (and trust me, you will break things)
Work on new features without touching your working code
Collaborate with other developers without overwriting each other's work
See exactly who changed what, and when
And the best part? It works completely offline on your machine. No internet needed.
The Core Concepts — Let Me Break It Down Simply
I'm not going to throw a textbook at you. Here's what actually matters:
📁 Repository (Repo)
Your project folder, but tracked by Git. It contains your code AND the full history of every change ever made. You'll have a local repo on your machine and usually a remote repo on GitHub in the cloud.
📸 Commit
A commit is a saved snapshot — like a checkpoint in a game. Every commit has a unique ID, your message describing what changed, and a timestamp.
One rule I always follow: commit early, commit often. Small commits are a lifesaver when debugging.
🌿 Branch
This one's a game-changer. A branch is like a parallel universe for your code. You're working on the main branch by default. But when you want to build a new feature or try something risky, you create a separate branch, experiment freely, and merge it back when it's ready.
No more "I'll just quickly test this on production" disasters. (We've all seen that colleague. Don't be that colleague.)
🔀 Merge
Merging pulls the changes from one branch into another. Git handles most of this automatically. When it can't — that's a merge conflict — you fix it manually. They sound scary, but once you've resolved two or three, they stop being a big deal.
📤 Push & Pull
Simple:
Push = send your local commits up to the remote repo
Pull = grab the latest changes from the remote repo down to your machine
The Commands You'll Actually Use Every Day
Here's my personal cheat sheet. Save this:
# One-time setup — tell Git who you are
git config --global user.name "Ajit Kumar Pandit"
git config --global user.email "ajit@example.com"
# Start tracking a project
git init
# Stage all changes (tell Git what to include in the next snapshot)
git add .
# Commit with a meaningful message
git commit -m "Add user authentication feature"
# Check what's changed or staged
git status
# See your commit history (clean one-liner view)
git log --oneline
# Create a new branch
git branch feature/dashboard
# Switch to it
git checkout feature/dashboard
# Merge it back into main
git merge feature/dashboard
# Clone a project from GitHub
git clone https://github.com/username/repo.git
# Push your commits to GitHub
git push origin main
# Pull the latest changes
git pull origin main
Honestly, 90% of your daily work as a developer will use these commands. Master these first, everything else comes naturally.
Now — What is GitHub?
Git is the tool. GitHub is where you take that tool online.
GitHub is a cloud platform where you store, share, and collaborate on Git repositories. Launched in 2008 and acquired by Microsoft in 2018, it now hosts over 100 million developers and hundreds of millions of repositories.
But here's what I want you to understand: GitHub isn't just "cloud storage for code." It's a full collaboration platform. Let me show you what I mean.
GitHub Features I Use All the Time as an Engineer
🔁 Pull Requests — The Foundation of Team Work
This is how professional teams work. Instead of pushing directly to main (please don't do that in a team), you:
Create a branch and make your changes
Open a Pull Request on GitHub explaining what you did
Teammates review, leave comments, suggest improvements
Once approved — merge it in
PRs have saved my team from so many bugs. A fresh pair of eyes catches things you've been staring at for hours.
🐛 Issues — Your Project's To-Do List
GitHub Issues let you track bugs, feature ideas, and tasks. Link them to Pull Requests. Label them by priority. Assign them to teammates. It keeps everyone on the same page without a dozen Slack threads going sideways.
⚡ GitHub Actions — Automate Everything
This is underrated. GitHub Actions lets you set up automated workflows — things like running your tests every time someone pushes code, or auto-deploying to production when changes hit main. Once I set up my first CI pipeline, I never looked back.
🌐 GitHub Pages — Free Hosting
You can host a static website directly from a GitHub repo for free. This blog you're reading? My portfolio? I use GitHub Pages for projects like that all the time. Great for documentation too.
🍴 Forking — How Open Source Works
Want to contribute to an open-source project? Fork it (create your own copy), make improvements, and open a Pull Request back to the original. That's how thousands of developers contribute to projects like React, VS Code, and Linux every single day.
Git vs GitHub — Once and For All
I still see this confusion everywhere, so let me put it to rest:
| Git | GitHub | |
| What it is | A version control tool | A cloud platform for Git repos |
| Where it runs | Your local machine | The internet |
| Created by | Linus Torvalds (2005) | Tom Preston-Werner et al. (2008) |
| Needs internet? | No | Yes |
| Alternatives | — | GitLab, Bitbucket, Gitea |
Git is the engine. GitHub is the garage where you park and share it.
A Real-World Workflow (This Is What I Actually Do)
Here's a typical feature implementation cycle on any project I work on:
1. git pull origin main → Start with the latest code
2. git checkout -b feat/payments → Create a branch for the new feature
3. [write code, test locally]
4. git add . → Stage the changes
5. git commit -m "Add Razorpay payment integration"
6. git push origin feat/payments → Push to GitHub
7. [Open a Pull Request on GitHub]
8. [Code review with teammates]
9. [Merge after approval] → Clean, reviewed code goes to main
This flow keeps main stable, every change documented, and every team member in the loop. It's not just good practice — in any professional environment, this is the standard.
Why You Genuinely Cannot Skip Learning This
I've mentored a few junior developers over the years, and Git is always one of the first things I push them to learn properly. Here's why:
It protects your work — You will break things. Git means you can always go back.
It's how teams build software — No serious team pushes code without version control.
Your GitHub profile is your portfolio — Recruiters and hiring managers look at it. A green contribution graph matters.
Open source opportunities — Once you're comfortable with GitHub, you can contribute to real projects used by millions. That's an incredible learning accelerator.
It's an industry standard — I've never worked at or with a company that doesn't use Git. It's table stakes.
A Few Tips From My Experience
1. Write commit messages like you're leaving a note for your future self. "Fixed stuff" tells you nothing six months later. "Fix null pointer in cart checkout when user has no address" — now that's useful.
2. Branch for everything. New feature? Branch. Bug fix? Branch. Even tiny experiments — branch. Keep main clean.
3. Learn the CLI, not just the GUI. GitHub Desktop and GitKraken are great, but when you're SSHed into a server at 2am fixing a production bug, you'll be glad you know the terminal commands.
4. Pull before you push. Always git pull before starting work in the morning. Stale local code + push = pain.
5. Don't fear merge conflicts. They look scary the first time. They're not. Breathe, read both versions, pick what's right, save, commit. Done.
Wrapping Up
Git and GitHub aren't just tools — they're the foundation of modern software engineering. Once they click, you'll wonder how you ever wrote code without them.
If you're just starting out: install Git, create a free GitHub account, and push something today. Anything. Even a "Hello World." The muscle memory builds fast.
And if you're already using Git but feel like you're just winging it — go back to basics. Re-read this. Practice the workflow. The fundamentals never go out of style.
As always, if you found this useful, drop a like and share it with someone who needs it. And if you have questions, drop them in the comments — I read every single one.
Happy coding! 🙌
About the Author
Ajit Kumar Pandit is a professional software engineer passionate about building clean, scalable software and sharing what he's learned along the way. With hands-on experience across the full development lifecycle, Ajit writes to bridge the gap between complex engineering concepts and everyday developers — whether you're just starting out or leveling up your craft.
When he's not writing code, he's probably writing about it.
Tags: #git #github #versioncontrol #webdev #programming #softwareengineering #beginners #devtools #opensource