Back

Git Rename Branch: How to Safely Rename Local and Remote Branches

Git Rename Branch: How to Safely Rename Local and Remote Branches

Are you looking to change the name of a branch in your Git repository? Whether you need to update a branch name to fix a typo, align with new naming conventions, or reflect changes in project scope, git rename branch is a crucial skill to master. In this concise guide, you’ll learn how to safely rename both local and remote Git branches.

Key Takeaways

  • Use git branch -m <new-name> to rename the current local branch
  • After local renaming, delete the old remote branch and push the renamed branch
  • Collaborators must update their local clones after a branch is renamed remotely
  • Communicate branch renames with your team and update references in project documents

Why Rename a Git Branch?

There are several reasons you may want to rename a Git branch:

  • Fixing typos or improving clarity in branch names
  • Aligning branch names with updated naming conventions
  • Reflecting changes in project scope or direction
  • Preparing a feature branch for merging into main

How to Rename a Local Git Branch

To change the name of your current local branch, use:

git branch -m <new-branch-name>

If you want to rename a branch other than the one you’re currently on, specify the old branch name:

git branch -m <old-branch-name> <new-branch-name>

The -m flag stands for --move, which moves/renames the branch.

Note: If you’re only changing capitalization, use -M to force the rename on case-insensitive filesystems:

git branch -M <new-branch-name>

Renaming a Branch on Remote Git Repositories

After renaming your local branch, update the remote repository:

  1. Delete the old-name remote branch:
git push origin --delete <old-branch-name>
  1. Push the new-name local branch and reset the upstream branch:
git push origin -u <new-branch-name>

Updating Local Clones After Renaming a Branch

Once a branch is renamed on the remote repository, other collaborators need to update their local clones:

  1. Switch to the local branch with the old name:
git checkout <old-branch-name>
  1. Rename the local branch:
git branch -m <new-branch-name>
  1. Update the tracking reference to the new upstream branch:
git fetch origin
git branch -u origin/<new-branch-name>
  1. Clean up tracking references to the old branch name:
git remote prune origin

Best Practices for Renaming Git Branches

  • Communicate with your team before renaming branches to avoid confusion and conflicts
  • Ensure the new branch name is clear, descriptive, and follows team conventions
  • Update references to the old branch name in pull requests, issues, wikis, or other project documents
  • Avoid renaming branches with unmerged changes or open pull requests to minimize complications

FAQs

Yes, use `git branch -m <old-name> <new-name>` to rename any local branch.

The pull request will be updated automatically to use the new branch name. However, it's best to avoid renaming branches with open PRs when possible.

You need push access to the repository to delete the old branch on the remote and push the renamed branch. Coordinate with your team/repo maintainers.

Conclusion

By following this guide, you can confidently and safely rename Git branches in your local and remote repositories. Effective branch naming is key to a well-organized version control workflow.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers