All Projects → gr2m → octokit-plugin-rename-branch

gr2m / octokit-plugin-rename-branch

Licence: MIT license
Octokit plugin to rename a branch in a github repository

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to octokit-plugin-rename-branch

Monkey
Monkey is an unofficial GitHub client for iOS,to show the rank of coders and repositories.
Stars: ✭ 1,765 (+9705.56%)
Mutual labels:  octokit
Octokit.rb
Ruby toolkit for the GitHub API
Stars: ✭ 3,522 (+19466.67%)
Mutual labels:  octokit
octokit.js
The all-batteries-included GitHub SDK for Browsers, Node.js, and Deno.
Stars: ✭ 5,279 (+29227.78%)
Mutual labels:  octokit
labman-cli
👨🏼‍🔬 github label manager cli
Stars: ✭ 15 (-16.67%)
Mutual labels:  octokit
octokit-cli
A CLI for @octokit/rest
Stars: ✭ 21 (+16.67%)
Mutual labels:  octokit
korefile
File System API for Local/GitHub.
Stars: ✭ 29 (+61.11%)
Mutual labels:  octokit
fixtures
Fixtures for all the octokittens
Stars: ✭ 82 (+355.56%)
Mutual labels:  octokit

⚠️ 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

@latest Build Status

Usage

Browsers

Load octokit-plugin-rename-branch and @octokit/core (or core-compatible module) directly from cdn.pika.dev

<script type="module">
  import { Octokit } from "https://cdn.pika.dev/@octokit/core";
  import {
    renameBranch,
    composeRenameBranch,
  } from "https://cdn.pika.dev/octokit-plugin-rename-branch";
</script>
Node

Install with npm install @octokit/core octokit-plugin-rename-branch. Optionally replace @octokit/core with a core-compatible module

const { Octokit } = require("@octokit/core");
const {
  renameBranch,
  composeRenameBranch,
} = require("octokit-plugin-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: "main",
});

You can use composeRenameBranch directly, too.

composeRenameBranch(octokit, {
  owner: "octocat",
  repo: "hello-world",
  current_name: "master",
  name: "main",
});

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].