Skip to main content

Git Commands to Rename Local Branch and Rename Corresponding Remote Branch

Renaming a Git branch, both locally and remotely, might be necessary for various reasons. Here are some common scenarios:

  1. Clarity and Consistency:

    • Renaming branches can help improve the clarity and consistency of your project's branch naming conventions. This is particularly important when working on collaborative projects with multiple contributors.
  2. Branch Naming Convention Changes:

    • If you decide to change your branch naming conventions, you may need to rename existing branches to adhere to the new conventions. This is often done to maintain a standardized and organized codebase.
  3. Refactoring or Restructuring:

    • When you refactor or restructure your codebase, you might want to reflect those changes in the branch names. Renaming branches helps to keep branch names aligned with the current state of the code.
  4. Fixing Typos or Naming Mistakes:

    • Sometimes, branches are created with typos or incorrect names. Renaming allows you to correct these mistakes without creating confusion among team members.
  5. Working on Multiple Features:

    • If you are working on multiple features simultaneously and initially created branches with temporary or generic names, renaming them to more descriptive names can provide better context to yourself and others.

Now, let's go through the process of renaming a local branch and its corresponding remote branch:

Rename Local Branch

To rename a local branch, you can use the following command:

git branch -m old_branch_name new_branch_name

Rename Remote Branch

After renaming the local branch, you also need to update the remote branch. You can do this using the following commands:

git push origin -u new_branch_name
git push origin --delete old_branch_name

These 2 Git commands push the renamed local branch to the remote repository and delete the old remote branch. This second is optional, and you can keep the old remote branch if needed.

Set Upstream for the New Remote Branch:

Finally, set the upstream for the new remote branch:

git branch --set-upstream-to=origin\new_branch_name new_branch_name

This Git command is essentially saying, "Set the upstream branch for new-branch-name to be origin\new-branch-name. After renaming the local branch and pushing the changes to the remote repository, running this command helps Git understand the relationship between the local and remote branches. It ensures that future Git operations (like pull and push) on the local branch are associated with the correct remote branch. This is especially important when working collaboratively with others, as it helps maintain a clear connection between the local and remote branches.


Make sure to replace old-branch-name with the current name of your branch and new-branch-name with the desired new name.

Keep in mind that renaming a branch might cause issues for collaborators who are working on the same branch. Communicate with your team and make sure everyone is aware of the change to avoid conflicts.

If you are working in a shared repository, it's a good practice to coordinate with your team before renaming branches, as it can affect others who are collaborating on the same codebase.