Ça faisait plus de deux ans que ça trainait alors j’ai pris le taureau par les cornes et j’ai finalement fait le nécessaire pour basculer de master
à main
pour la branche principale de tous mes dépôts.
Au passage j’en ai aussi profité pour renommer mon remote en origin
plutôt que Github
que j’avais parfois utilisé.
Forcément je n’ai pas tout fait à la main, feignasse mode assumé, alors voilà un petit script qui pourrait vous servir (je ne sais malheureusement plus où j’avais dégoté l’original qui m’avait servi à composer celui-ci, je l’indiquerai si je retrouve la référence) :
#!/bin/bash
set -e
ORIGIN="origin"
# Step 0
# Rename remote to origin if necessary
remote=$(git remote)
if [[ $remote != "$ORIGIN" ]]; then
git remote rename "$remote" "$ORIGIN"
fi
# Step 1
# create main branch locally, taking the history from master
git branch -m master main
# Step 2
# push the new local main branch to the remote repo (GitHub)
git push -u "$ORIGIN" main
# Step 3
# switch the current HEAD to the main branch
git symbolic-ref refs/remotes/"$ORIGIN"/HEAD refs/remotes/"$ORIGIN"/main
# Step 4
# change the default branch on GitHub to main
# https://docs.github.com/en/github/administering-a-repository/setting-the-default-branch
gh repo edit --default-branch main
# Step 5
# delete the master branch on the remote
git push "$ORIGIN" --delete master
J’utilise git forcément mais aussi l’utilitaire gh installé depuis brew (voir le step 4).
À lancer depuis la racine de votre dépôt.
1 De Jean-Christian Paul Denis -
Et moi qui m’étais forcé à tout faire en master… pfff 😛
2 De Franck -
Rien ne t’y oblige ! Ni dans un sens ni dans l’autre d’ailleurs.
Perso j’en avais des deux sortes,
master
etmain
, et avec un nom de remote de deux sortesGithub
etorigin
; autant tout remettre à plat.