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 you