How do I rename branch on the GitHub website?

GithubBranchRename

Github Problem Overview


I don't know how to run command line stuff. I just don’t have the environment.

So I'm trying to rename a branch on the GitHub website. It was, by default, named patch-1.

Is it possible to rename it on the site?

Github Solutions


Solution 1 - Github

I just did it without downloading any code to my laptop and using only the GitHub site. The solution looks the same as @swcool’s, but I want to add about the default branch.
In my case, the name of the renaming branch did not exist.

  1. Change the default branch (to the old branch you want to rename)

  2. Create a new branch (with a new name)

    This action will copy all the contents of the default branch (the branch with the old name) to the new branch (with a new name). At this time, you have two branches with the same code.

  3. Change the default branch (to the new one with a new name)

  4. Delete the old branch

Solution 2 - Github

I think you can, just create a new branch with the new name, and delete the old one on github.

More detail you can see here.

Solution 3 - Github

It is not possible to rename a branch from the Github website. You will need to do the following -

Setup your Git Environment

Follow this - https://help.github.com/articles/set-up-git

Rename branch locally & on Github

git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote

Solution 4 - Github

If you don't want to install Git, clone the repo, rename the branch locally and push it back to GitHub, you can use the GitHub API for references:

  • create a new branch where the old one is:

      POST /repos/:owner/:repo/git/refs
    
      {
        "ref": "refs/heads/newBranchName",
        "sha": "<SHA1 of old branch>"
      }
    
  • delete the old branch:

      DELETE /repos/:owner/:repo/git/refs/heads/oldBranchName
    

That way, you will have "renamed" (create+delete) the branch without having git locally.

And, as commented by user3533716 below, use the GitHub API for listing branches to get those branch SHA1:

GET /repos/:owner/:repo/branches

Solution 5 - Github

Since Jan., 19th 2021, you now can rename a branch directly on github.com:

> ## Support for renaming an existing branch:

> You can now rename any branch, including the default branch, from the web. > >Branch rename dialog -- https://i2.wp.com/user-images.githubusercontent.com/2503052/105069955-a231fa80-5a50-11eb-982c-a114c9c44c57.png?ssl=1 > > If you've been waiting to rename your default branch from master to main, we now recommend doing so using this feature. > >When a branch is renamed: > >- Open pull requests and draft releases targeting the renamed branch will be retargeted automatically >- Branch protection rules that explicitly reference the renamed branch will be updated > >Note: admin permissions are required to rename the default branch, but write permissions are sufficient to rename other branches. > >To help make the change as seamless as possible for users: > >- We'll show a notice to contributors, maintainers, and admins on the repository homepage with instructions for updating their local repository >- Web requests to the old branch will be redirected >- A "moved permanently" HTTP response will be returned to REST API calls >- An informational message will be displayed to Git command line users that push to the old branch > >This change is one of many changes GitHub is making to support projects and maintainers that want to rename their default branch. > > Branch names will not change unless the maintainer explicitly makes the change, however this new rename functionality should dramatically reduce the disruption to projects who do want to change branch names. > >To learn more about the change we've made, see github/renaming. > >To learn more, see Renaming a branch.

Solution 6 - Github

To rename a branch on the Github website, just go to your repo's home page, click on where it says "branches"

enter image description here

Then, find the branch you're interested in, click the pencil button

enter image description here

and from there, you can rename your branch. enter image description here

Solution 7 - Github

If you want a GUI based solution - download the Git Client "GitKraken". It supports doing this from UI by right-clicking on the branch name and choosing "rename [branch name]".

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionNoitidartView Question on Stackoverflow
Solution 1 - GithuballenhwkimView Answer on Stackoverflow
Solution 2 - GithubswcoolView Answer on Stackoverflow
Solution 3 - GithubNitish DharView Answer on Stackoverflow
Solution 4 - GithubVonCView Answer on Stackoverflow
Solution 5 - GithubVonCView Answer on Stackoverflow
Solution 6 - GithubChris GongView Answer on Stackoverflow
Solution 7 - GithubAdam DiamentView Answer on Stackoverflow