Skip to main content

Command Palette

Search for a command to run...

Git builds history. GitHub builds collaboration.

Updated
•4 min read•View as Markdown
Git builds history. GitHub builds collaboration.

🚀 Week 4 – My Git & GitHub Learning Experience

This week in the #90DaysOfDevOps challenge was all about Git and GitHub.

I’ve used Git before — but if I’m being honest, only in a basic way.

I knew the usual flow:

make changes → commit → push

Things worked, so I never really thought about what was happening behind the scenes.

This week forced me to slow down and actually understand it.
And that made a big difference.


🧠 Git vs GitHub (in plain words)

Git
➡️ A tool on your computer
➡️ Tracks file changes
➡️ Manages versions (history)
➡️ Works offline

GitHub
➡️ A website/cloud platform
➡️ Stores Git repositories online
➡️ Enables sharing & collaboration
➡️ Handles pull requests, reviews, access

📌 Easiest way to remember:

Git controls your code history.
GitHub shares that history with the world.


🌱 The Easy Part (What I Thought I Already Knew)

At the beginning, everything felt familiar:

• Forking a repo
• Cloning it
• Creating folders
• Running git init
• Committing and pushing

It felt automatic.

I wasn’t thinking — just following steps I had done before.

At this stage, Git feels very forgiving.
If something goes wrong, you retry and it usually works.

But that comfort didn’t last long 😅


🔗 When Git and GitHub Finally Clicked

The real learning started when I dealt with:

• remotes
• authentication
• PAT tokens
• SSH keys

That’s when I realised something important:

👉 Git and GitHub are different things.

Git works locally — it tracks changes.
GitHub handles hosting, permissions, and collaboration.

Once I switched from PAT to SSH, it finally made sense.

Nothing changed in Git itself.
Only how I connected to GitHub changed.

That moment cleared a lot of confusion for me.


🌿 Branching Finally Felt Like Real Work

https://media.licdn.com/dms/image/v2/C5112AQGl_qtb6AJxbg/article-cover_image-shrink_600_2000/article-cover_image-shrink_600_2000/0/1578033300107?e=2147483647&t=pxdFkyKHz0dDeaHanQfCyyty1bDdITJcVfU3ewMDmiw&v=beta

I had created branches before, but this time I actually used them properly.

I:

✔ Created a feature branch
✔ Worked only on that branch
✔ Pushed it separately
✔ Merged using a Pull Request

This showed me why people say:

“Don’t work directly on main.”

Branching stopped feeling like a rule.
It felt like the normal way things should be done.


⚠️ Undoing Changes Was the Scary Part

This was the hardest part for me.

Trying commands like reset and revert made me realise:

• some undo actions are safe
• some can destroy history

And Git doesn’t really warn you.

One wrong command — and things can disappear.

This is when Git stopped feeling like a toy and started feeling powerful (and dangerous 😄).

Now I understand why teams are careful with these commands.


🔁 Shortcuts That Are Helpful (But Can Cause Trouble)

Stashing and cherry-picking were interesting.

They’re great when:

• you’re in the middle of work
• need to switch tasks quickly
• only want one specific change

But I also saw how easily they can create confusion later.

They solve short-term problems,
but if overused, they can make a mess.


🧠 Rebasing Changed How I See Git History

https://miro.medium.com/1%2AeGVGgY5z4CL6jS0hg0XkYQ.jpeg

https://cms-assets.tutsplus.com/cdn-cgi/image/width%3D360/uploads/users/1885/posts/106923/image-upload/interactive_rebase.png

4

Rebasing was a big eye-opener.

It showed me that Git history is not fixed.

You can:

• clean it
• rewrite it
• organize it
• or break it

That’s when Git started feeling like shared infrastructure instead of just a tool.


🏗 Branching Strategies Made It Feel Like Real Industry Work

Learning about different workflows taught me something simple:

There’s no perfect way.

Every strategy has pros and cons.

And usually — simpler workflows are easier to manage.

Branching strategies aren’t really about Git.

They’re about how teams work together safely.


🎯 Final Thoughts

This week didn’t teach me tons of new commands.

It taught me to be careful and intentional.

I still use the same basic Git flow.

But now I:

✔ understand what’s happening
✔ think before undoing things
✔ respect shared branches

Git didn’t suddenly become hard.

I just stopped using it blindly.


📌 I’ve documented all my Week 4 tasks and screenshots in my GitHub repo if anyone wants to check them out.

(https://github.com/Md-Khursheed/90DaysOfDevOps/tree/week4-git-github/2025/git)