Master to main n° 2

Ç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.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/15544

Haut de page