Introduction
Cloning a repository is exciting — new code, new adventure.
But sometimes Git drops you straight onto main when you really wanted that shiny dev branch.
Remote (origin) Local
------------------ ------------
origin/main main ← default after clone
origin/dev ----> dev ← your new branch
No worries. Here’s the quick rescue plan.
The Critical Step: Fetching Origin
First, tell Git to look for other branches on the remote:
git fetch origin
👉 This is the magic unlock: it updates your local repository with all branches that exist on the remote (like dev, feature-x, etc.). Without it, your local machine doesn’t even know those remote branches exist.
| Git Concept | Architectural Explanation |
|---|---|
| Cloning Limitations | Cloning downloads the repository history but only fully maps and checks out the default branch (usually main or master). |
The Role of fetch |
git fetch origin securely downloads remote branch pointers and commits without modifying your current working directory files. |
| The Result | Once fetched, your local Git index is aware of origin/dev, allowing you to switch to it seamlessly. |
Branch Navigation Cheat Sheet
Now that Git is aware of the remote branches, you can freely navigate. Here are the core commands you need:
| Command | Action | Explanation |
|---|---|---|
git switch dev |
Switch Branch | Moves your working directory to the dev branch. (Note: The older git checkout -b dev origin/dev works identically but is less intuitive). |
git pull |
Synchronise | Pulls down the latest updates from the remote to ensure your local dev branch is completely synchronised. |
git stash |
Save Work | If you have uncommitted changes on main that you don’t want to lose, this temporarily shelves them. |
git stash pop |
Restore Work | Once you have switched to the correct branch, this command reinstates your shelved changes. |
Done. No tears, no confusion — just smooth Git moves. 🚀
Related tools you may want to try next.
B12.io Recently, I have found an AI-powered platform that enables you to create professional websites, pages, posts, and emails with ease. I will also give it a try and soon write a new post about B12.io (I am working on my coding post at the moment :).
Wrap-up
That’s it — a simple way to jump from main to where the real work lives.
Remember: git fetch origin is your secret handshake to see all remote branches.
Next time you clone and panic, you’ll know exactly what to do :)
Did you like this post? Please let me know if you have any comments or suggestions.
Git posts that might be interesting for youEnjoyed this? Get more like it.
Weekly notes on AI tools, Python, and what I'm actually building — plus a free copy of Fantastic AI: The 2026 Toolkit.