107 votes

Je ne peux pas supprimer une branche master distante sur git

Je dois supprimer une branche principale, mais ça s'avère difficile. Je veux juste nettoyer cette branche et recommencer à zéro. Je supprime de la branche dev. Je veux que le master sur GitHub soit propre.

 # git push origin --delete master

> To https://github.com/mymasterb.git  ! [remote rejected] master
> (deletion of the current branch prohibited) error: failed to push some
> refs to 'https://github.com/mymaster.git'

Comment puis-je tout simplement commencer mon master en faisant table rase du passé ?

170voto

VonC Points 414372

Comme expliqué dans " Suppression de votre branche principale "par Matthew Brett, vous devez changer la branche par défaut de votre repo GitHub .

Vous devez vous rendre sur la page GitHub de votre dépôt forké, et cliquer sur le bouton "Settings".

Cliquez sur l'onglet "Branches" sur le côté gauche. Il y a une liste déroulante "Branche par défaut" en haut de l'écran.

De là, sélectionnez placeholder (où placeholder est le nom fictif de votre nouvelle branche par défaut).

Confirmez que vous voulez changer votre branche par défaut.

Maintenant vous pouvez faire (à partir de la ligne de commande) :

git push origin :master

Ou, depuis 2012, vous pouvez supprimer cette même branche directement sur GitHub :

GitHub deletion

C'était annoncé en sept. 2013 un an après avoir écrit cette réponse.

Pour les petits changements comme les corrections de documentation, les fautes de frappe, ou si vous êtes juste un compilateur de logiciels ambulant, vous pouvez faire beaucoup de choses dans votre navigateur sans avoir besoin de cloner le référentiel entier sur votre ordinateur. .


Note : pour BitBucket, Tum rapports dans les commentaires :

A peu près la même chose pour Bitbucket

Repo -> Settings -> Repository details -> Main branch

19voto

dave_k_smith Points 108

Pour répondre à la question littéralement (puisque GitHub ne figure pas dans le titre de la question), il faut également savoir que ce poste sur le super-utilisateur. EDIT : Réponse copiée ici dans sa partie pertinente, légèrement modifiée pour plus de clarté entre crochets :

Vous êtes rejeté parce que vous essayez de supprimer la branche que votre origine a actuellement "extraite".

Si vous avez un accès direct au dépôt, vous pouvez simplement ouvrir un shell [dans le répertoire du dépôt nu] et utiliser le bon vieux git branch pour voir sur quelle branche l'origine est actuellement. Pour la changer en une autre branche, vous devez utiliser git symbolic-ref HEAD refs/heads/another-branch .

7voto

Jackkobec Points 110

Le moyen le plus rapide est pour changer la branche par défaut de master à une autre et vous pouvez supprimer la branche master depuis l'interface web .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X