DEV Community

Cover image for Git and Github Explained
Malicha Galma
Malicha Galma

Posted on

Git and Github Explained

Hey there so you’ve been hearing about Git and GitHub...
Welcome to the world of version control — where collaboration meets backup, and coding becomes way less scary.

This isn’t your average tutorial. This is you learning Git the smart, beginner-friendly, not-so-boring way.

So... What Even Is Version Control?

Imagine writing an essay, then accidentally deleting half of it. Now imagine having a magic “undo” button — not just for the last change, but for every single change ever made. That’s version control.
It helps you:

  • Track changes to your code over time
  • Work in teams without fighting over one file
  • Go back in time when you mess up (you will)
  • Collaborate without chaos The tool we use for that? Git. And where we host our Git work? **GitHub. ##Git Basics Let’s not memorize commands — let’s understand what they do.
Command Meaning
git init "I'm starting a project"
git clone "Copy this repo to my laptop"
git status "What’s the situation with my files?"
git add "I want to include this in the next save"
git commit -m "msg" "Save this version with a message"
git push "Upload my changes to GitHub"
git pull "Download latest changes from GitHub"
git merge "Combine this branch with another"

Forking

Forking is just a fancy way of saying:

“Hey, I want to make my own copy of this project so I can mess with it.”
It’s how you:

  • Contribute to open source
  • Experiment without wrecking the original
  • Start customizing someone else’s code Go to a GitHub repo → Click Fork → It’s now yours. Remix it like it’s your favorite song

Collaboration

**With Git and GitHub, you can:

  • Create branches to work on features
  • Push your changes
  • Pull others’ updates
  • Review and merge work as a team Teamwork becomes less “he touched my code” and more “let’s build something amazing together”.

Pull Requests

A Pull Request (PR) is like submitting an assignment:

  1. You fork → clone → make changes.
  2. You push your changes.
  3. You open a PR and say: "Hi maintainer, here’s what I changed and why."
  4. They review it. You fix stuff. They merge it. You celebrate A PR isn’t just a request — it’s a conversation about code.

Merge Conflicts

**Merge conflicts happen when:

  • You and someone else edit the same line in the same file. Git freaks out and marks the conflict like this:

bash
HEAD
Your changes
Other person's changes
other-branch

**Code Reviews

**
Pull Requests usually come with code reviews, which are:

  • A chance to catch bugs before they grow up
  • A way to learn cleaner, smarter code
  • A form of teamwork (not judgement!)

Tip: Ask questions. Be kind. No one writes perfect code. Not even senior devs.

GitHub Issues

GitHub Issues are like a to-do list:

  • Report bugs
  • Request features
  • Ask questions
  • Organize tasks

You can label them, assign them, and even link them to pull requests. Organized code = happy devs.

Pushing Changes to GitHub

Once you’ve made some edits locally:

bash
git add .
git commit -m "Added something amazing"
git push origin your-branch

Top comments (0)