Back to Blog

How to Rename a Local Git Branch: Step-by-Step Guide for Beginners

Lineserve TeamLineserve Team
December 11, 2025
4 min read

Have you ever found yourself staring at a Git branch name that just doesn’t fit anymore? Maybe you started with ‘feature-login-fix’ but realized it should be ‘bugfix-authentication-issue.’ Renaming a local Git branch is a common task that keeps your project organized, but it can feel tricky if you’re not familiar with the commands. In this tutorial, we’ll walk through how to rename a local branch safely, step by step, ensuring you don’t run into sync issues with remotes. By the end, you’ll have the confidence to rename branches like a pro, maintaining a clean and readable project history.

Prerequisites

Before we dive in, make sure you have Git installed on your system. You’ll also need a Git repository with at least one local branch to rename. If you’re new to Git, I recommend checking out some basics first, but don’t worry—this guide assumes intermediate knowledge, like creating and switching branches.

Understanding the Basics of Branch Renaming

Renaming a branch in Git is straightforward for local branches that haven’t been pushed to a remote repository. The key command is git branch -m (or --move), which moves the branch to a new name. It’s safe because it doesn’t affect your commit history or remote branches—yet. We’ll cover why that’s important later.

Why Rename Branches?

Use cases include:

  • Fixing typos or unclear names for better readability.
  • Adhering to naming conventions (e.g., ‘feature/’ prefixes).
  • Refactoring project structure without losing work.

For example, if you’re working on a team, renaming ‘my-experimental-feature’ to ‘feature/user-profile-improvements’ makes collaboration easier.

Step-by-Step Guide to Renaming a Local Branch

Let’s get hands-on. We’ll cover two scenarios: renaming when you’re not on the branch, and when you are.

Scenario 1: Renaming a Branch You’re Not Currently On

This is the simplest case. Suppose you have a branch called ‘old-branch’ and want to rename it to ‘new-branch’.

  1. Open your terminal and navigate to your Git repository.
  2. Check your current branches to confirm:
    git branch
  3. Ensure you’re on a different branch (e.g., ‘main’):
    git checkout main

    (or git switch main if using newer Git).

  4. Rename the branch:
    git branch -m old-branch new-branch
  5. Verify the change:
    git branch

    You should see ‘new-branch’ instead of ‘old-branch’.

That’s it! The branch is renamed locally.

Scenario 2: Renaming the Branch You’re Currently On

If you’re already on the branch you want to rename, Git handles it seamlessly. Say you’re on ‘current-branch’ and want ‘renamed-branch’.

  1. Confirm you’re on the branch:
    git branch

    (the current one will have an asterisk).

  2. Rename it directly:
    git branch -m renamed-branch

    (Note: You don’t need to specify the old name since you’re on it.)

  3. Check the result:
    git branch

Total time: seconds. Pro tip: If you forget the old name, Git figures it out from your current branch.

Alternative Methods

While git branch -m is the standard way, you can also use git branch --move old-branch new-branch. It’s identical in function—pick what you find clearer. Avoid older methods like git mv, as it’s not for branches and can cause confusion.

Best Practices and Common Pitfalls

Renaming is safe for unpushed branches, but here are tips to avoid messes:

  • Check for Remote Pushes: Use git log --oneline --graph old-branch to see if commits have been pushed. If they have, renaming locally won’t sync—push the renamed branch and delete the old remote one (covered in related StackOverflow links).
  • Maintain Clean History: Rename early to avoid confusion. Use descriptive names to keep your project history readable.
  • Avoid Conflicts: Ensure no one else is using the old branch name in their local repo.
  • Pitfalls: Don’t rename a branch that’s tracking a remote without handling the remote side—it can lead to detached HEAD or merge issues.

Best practice: After renaming, push the new branch if needed:

git push origin new-branch

and delete the old:

git push origin --delete old-branch

.

Practical Example

Imagine you’re fixing a login bug. You created ‘bug-login’ but realize it should be ‘fix-login-validation’. You’re on ‘main’, so:

git branch -m bug-login fix-login-validation
# Now switch to it
git checkout fix-login-validation

This keeps your workflow smooth and your branch list tidy.

Conclusion and Next Steps

Congratulations—you now know how to rename local Git branches using git branch -m, handling both on-branch and off-branch scenarios safely. Remember, this works best for unpushed branches to avoid remote complications. Keep your branch names clear and consistent for better collaboration.

Next steps: Practice in a test repo, explore renaming with remotes (check the linked StackOverflow posts), or dive into Git workflows like GitFlow. If you encounter issues, the Git documentation is your friend. Happy coding!

Share this article

Lineserve Team

Lineserve Team

Lineserve Team is a contributor at the Hostraha blog, sharing insights on web hosting, cloud infrastructure, and web development.

Enjoy this article?

Subscribe to our newsletter for more hosting tips, tutorials, and special offers.