octokit-rename-branch

Octokit plugin to rename a branch in a github repository

Usage no npm install needed!

<script type="module">
  import octokitRenameBranch from 'https://cdn.skypack.dev/octokit-rename-branch';
</script>

README

octokit-rename-branch

Octokit plugin to rename a branch in a github repository

@latest Build Status Coverage Status Greenkeeper

Usage

Install with npm install @octokit/core octokit-rename-branch

const { Octokit } = require("@octokit/core");
const renameBranch = require("octokit-rename-branch");

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: "latest"
});

How it works

  1. Creates a new reference using the sha of the last commit of current_branch (POST /repos/:owner/:repo/git/refs)
  2. Updates the default branch of the repository (PATCH /repos/:owner/:repo)
  3. Updates branch protection to the new branch name if applicable (GraphQL mutation updateBranchProtectionRule)
  4. Look for open pull requests and update the base branch if it’s current_branch (PATCH /repos/:owner/:repo/pulls/:pull_number)
  5. Delete current_branch (DELETE /repos/:owner/:repo/git/refs/:ref)

Motivation

I think master is a horrific term. 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. This library is meant to simplify the process of renaming branch names of GitHub repositories.

License

MIT