Transitioning to "main" default branch

On Friday, June 19th, we are initiating a transition to use “main” as the default branch across all RedwoodJS Organization repositories on GitHub. All steps will be handled primarily by the core maintainers.

The Why

Our goal is to create a welcoming, inclusive, and diverse community that will help shape the future of Redwood. We believe that software is better when the voices of people from many different backgrounds and experiences are taken into account. With this in mind, even small steps, like using main instead of the racially charged master for our default branch names are directionally meaningful. We intend to fight white supremacy at every opportunity, even those that some might consider trivial. If this change makes even a single person feel more welcome, then the effort involved will have been worth it.

What’s Changing

Repository Branches & Settings

You can follow progress via this GitHub Tracking Issue #718

The goal is to replace the current “master” branch with “main” as the default.

  1. Create a new branch main from the current master
  2. Switch GitHub repository settings to use main as the default
  3. For each open PR, edit and change the target from master to main *
  4. Change GH Actions to use main where applicable
  5. Lastly, delete the master branch

* as needed, maintainers will coordinate with each PR author if additional steps are required — for most PRs, however, the transition should be seamless

Contributing and Forks

If you are working on a fork of redwoodjs/redwood , be aware that merging upstream changes may result in losing in-progress work — especially if you are working directly on master . Once we have completed the transition, we recommend you take the following steps:

  • if you are currently working on master , create a new branch
  • merge upstream changes from redwoodjs/redwood
  • check your repository Settings and set main as default if needed
  • merge your changes back into main
  • delete master if/as needed

Questions or Help Needed?

We’re here to help every step of the way. Just reply to this topic or reach out to me by DM here in the Forum.


I love that GitHub and RedwoodJs and others are doing this. DB replication names and allow/block lists should be considered thoughtfully too. Moving in the right direction :heart: