A Python script for bulk renaming the default branch of your GitHub repositories using the API
MIT License
The default git/GitHub branch name is oppressive terminology (more info). It is easy to change the branch name for a single repository or for new repositories. This script makes it easy to rename your default branch on GitHub repositories in bulk.
To install, run
python -m pip install rename-github-default-branch
Then, create a GitHub.com personal access token with the repo
permission scope and set the environment variable:
export RENAME_GITHUB_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN
Then to rename the default branch to main
for a specific repository (you must have write access):
rename-github-default-branch -r dfm/rename-github-default-branch -t main
Or for all the repos that you own (excluding forks):
rename-github-default-branch -t main
You can also provide regular expressions to match against the repository name. For example:
rename-github-default-branch -t main -p "dfm/*" -p "exoplanet-dev/*"
To update your local repository, you can run the following:
git fetch origin main
git checkout -b main origin/main
git branch -D master
where main
is the name of the new default branch and origin
is the name of the git remote.