octokit-plugin-rename-branch
                                
                                 octokit-plugin-rename-branch copied to clipboard
                                
                                    octokit-plugin-rename-branch copied to clipboard
                            
                            
                            
                        Octokit plugin to rename a branch in a github repository
⚠️ This plugin has been archived.
GitHub introduced an API to rename a branch which implements most, if not all, what this plugin used to do.
octokit-plugin-rename-branch
Octokit plugin to rename a branch in a github repository
Usage
| Browsers | Load   | 
|---|---|
| Node | Install with   | 
const MyOctokit = Octokit.plugin(renameBranch);
const octokit = new MyOctokit({
  // create token at https://github.com/settings/tokens/new
  auth: "my-token-123",
});
octokit.renameBranch({
  owner: "octocat",
  repo: "hello-world",
  current_name: "master",
  name: "main",
});
You can use composeRenameBranch directly, too.
composeRenameBranch(octokit, {
  owner: "octocat",
  repo: "hello-world",
  current_name: "master",
  name: "main",
});
How it works
- Creates a new reference using the shaof the last commit ofcurrent_branch(POST /repos/:owner/:repo/git/refs)
- Updates the default branch of the repository (PATCH /repos/:owner/:repo)
- Updates branch protection to the new branch name if applicable (GraphQL mutation updateBranchProtectionRule)
- Look for open pull requests and update the base branch if it’s current_branch(PATCH /repos/:owner/:repo/pulls/:pull_number)
- Delete current_branch(DELETE /repos/:owner/:repo/git/refs/:ref)
Motivation
This library is meant to simplify the process of renaming branch names of GitHub repositories.
By default, both Git and GitHub use master for their main branch. I think Git & GitHub should follow the lead of tech communities such as Django, Drupal and CouchDB and replace master with non-offensive term, such as latest or main.
License
MIT