no-more-masters

Rename your default Git branch from master to main.

Usage no npm install needed!

<script type="module">
  import noMoreMasters from 'https://cdn.skypack.dev/no-more-masters';
</script>

README

no-more-masters

Rename your default Git branch from master to main.

This script requires that you have a GitHub authorization token. As well, if you have branch protections enabled for master, consider turning them off so that the script can remove the branch from your remote repo.

Install

$ npm install -g no-more-masters

Usage

$ no-more-masters

OPTIONS
  -b, --branch=branch  [default: main] The branch name to create
  -h, --help           show CLI help
  -v, --version        show CLI version

What is this doing?

  1. git checkout -b main master: Create a branch main from master

  2. git push origin main: Push that main branch to your remote

  3. Using the GitHub API's Update a repository endpoint, set main as the new default branch

  4. git branch -D master: Removes master from your local machine

  5. git push origin :master: Removes master from your remote repository

    Note: this step will fail if branch protections are enabled

Configuration

If you have core.defaultBranch set, the script will use that branch name as its default.

A GitHub API token can also be provided via the GITHUB_TOKEN environment variable.