J'ai un master et une branche dev dans mon référentiel. Je veux supprimer la branche master de mon ordinateur pour ne pas m'y engager accidentellement (c'est arrivé ..).
Il y a des questions ici sur la façon de supprimer des branches localement et à distance, mais je n'ai pas été en mesure de savoir comment supprimer uniquement une branche localement.
Une réponse a dit d'utiliser ceci:
git branch -d local_branch_name
Mais j'ai essayé cela et la branche apparaît toujours dans l'application GitHub.
Deleted branch master (was e8a8e29).
Réponses:
Je pense (sur la base de vos commentaires) que je comprends ce que vous voulez faire: vous voulez que votre copie locale du référentiel n'ait ni la branche locale ordinaire
master
, ni la branche de suivi à distanceorigin/master
, même si le référentiel que vous avez cloné - celui de github —A une branche localemaster
que vous ne voulez pas supprimer de la version github.Vous pouvez le faire en supprimant la branche de suivi à distance localement, mais elle reviendra simplement chaque fois que vous demanderez à votre git de synchroniser votre référentiel local avec le référentiel distant, car votre git demande à son git «quelles branches avez-vous» et il dit "j'ai
master
" donc votre git (re) créeorigin/master
pour vous, afin que votre dépôt ait ce qu'il a.Pour supprimer votre branche de suivi à distance localement à l'aide de l'interface de ligne de commande:
mais encore une fois, il reviendra juste sur les resynchronisations. Il est également possible de vaincre cela (en utilisant la
remote.origin.fetch
manipulation), mais il vaut probablement mieux être suffisamment discipliné pour ne pas créer ou modifiermaster
localement.la source
Forcer la suppression de la branche locale:
[ REMARQUE ]:
"-D"
est l'option de suppression forcée.la source
Pour autant que je puisse comprendre le problème d'origine, vous avez ajouté des commits au maître local par erreur et n'avez pas encore poussé ces changements. Vous souhaitez maintenant annuler vos modifications et espérer supprimer vos modifications locales et créer une nouvelle branche principale à partir de la branche distante.
Vous pouvez simplement réinitialiser vos modifications et recharger le maître à partir du serveur distant:
la source
L'application Github pour Windows affiche toutes les branches distantes d'un référentiel. Si vous avez supprimé la branche localement avec
$ git branch -d [branch_name]
, la branche distante existe toujours dans votre référentiel Github et apparaîtra malgré tout dans l'application Windows Github.Si vous souhaitez supprimer complètement la branche (également à distance), utilisez la commande ci-dessus en combinaison avec
$ git push origin :[name_of_your_new_branch]
. Attention: cette commande efface toutes les branches existantes et peut entraîner une perte de code. Attention, je ne pense pas que ce soit ce que vous essayez de faire.Cependant, chaque fois que vous supprimez les modifications de branche locale, la branche distante apparaîtra toujours dans l'application. Si vous ne souhaitez pas continuer à apporter des modifications, ignorez-les et ne cliquez pas, sinon vous risquez de cloner le référentiel. Si vous avez d'autres questions, n'hésitez pas à me le faire savoir.
la source
vous devez basculer dans une autre branche et essayer la même chose.
git branche -d
la source
Par vos balises, je suppose que vous utilisez Github. Pourquoi ne pas créer des règles de protection de branche pour votre branche principale? De cette façon, même si vous essayez de pousser pour maîtriser, cela le rejettera.
Je recommanderais également de faire de même pour votre branche de développement.
la source