How to rename git default branch

There have been suggestions to rename the default branch in the ClusterLabs projects' git repositories. "main" is a common suggestion for a new name (and the current default used by newly created repositories on Github). Other suggestions include names that indicate how the project uses the branch, for example "stable" or "next".

If the default branch of an existing project is renamed, anyone who has an existing fork and/or checkout of the repository will have a dangling reference to the old name. This document describes how to fix those.

Rename default branch in a fork
If you have a Github fork of a project whose default branch was renamed, do this from one checkout of your fork (replace "master" with the old name and "main" with the new name, if different): git branch -m master main git push -u origin main git push origin --delete master git remote set-head origin -a
 * 1) Now go to the github page for your fork, select Settings then Branches,
 * 2) and change the default branch to main. Then continue below ...

If you have more than one checkout of your fork, repeat the first and last commands from the above in each one.

Rename default branch in a checkout
If you only have checkouts (not a fork) of the upstream repository, you can update each one like this (replace "master" with the old name and "main" with the new name, if different): git fetch --all git remote set-head origin -a git branch --set-upstream-to origin/main git branch -m master main