Supprimer les branches dans Bitbucket

134

J'ai créé de nombreuses branches dans l'un de nos référentiels. Ces branches sont destinées à être testées avant d'être tirées vers le maître. Maintenant, j'en vois beaucoup sur la liste et nous ne les utiliserons plus jamais. Comment supprimer ces branches directement sur Bitbucket?

Catherine
la source

Réponses:

224

Si les branches ne sont que locales, vous pouvez utiliser -d si la branche a été fusionnée, comme

git branch -d branch-name

Si la branche contient du code que vous ne prévoyez jamais de fusionner, utilisez -D à la place.

Si la branche est dans le dépôt en amont (sur Bitbucket), vous pouvez supprimer la référence distante en

git push origin :branch-name

De plus, si vous êtes sur le site Web de Bitbucket, vous pouvez supprimer les branches que vous avez poussées en accédant à l' onglet Branches de fonctionnalités sous Commits sur le site. Vous y trouverez une icône de points de suspension. Cliquez dessus, puis choisissez Supprimer la branche . Assurez-vous simplement de vouloir y déposer tous les changements!

entrez la description de l'image ici

Marcus
la source
2
Si j'exécute 'git branch -r', je remarque que BB ne supprime pas la branche du serveur. Il n'apparaît plus dans l'interface graphique, mais il s'affiche sur le serveur git.
jersey bean
37

Pour supprimer une branche de Bitbucket,

  1. Accédez à Présentation (Votre référentiel> branches dans la barre latérale gauche)
  2. Cliquez sur le nombre de branches (qui devrait vous montrer la liste des branches)
  3. Cliquez sur la branche que vous souhaitez supprimer
  4. Dans le coin supérieur droit, cliquez sur les 3 points (en plus du bouton Fusionner).
  5. Il existe l'option "Supprimer la branche" si vous avez des droits.
Mital Pritmani
la source
1
Où est «aperçu»? Si vous voulez dire Source, je ne vois aucune option `` Supprimer la branche '' sous le ...
niico
7
L'étape 1 devrait être "Accédez à votre dépôt et cliquez sur" branches "dans la barre latérale gauche."
Noumenon le
19

En plus de la réponse donnée par @Marcus, vous pouvez désormais supprimer une branche distante via:

git push [remote-name] --delete [branch-name] 
Ralf Rafael Frix
la source
8

dans Bitbucket, accédez aux branches dans le menu de gauche.

  1. Sélectionnez votre succursale que vous souhaitez supprimer.
  2. Allez dans la colonne d'action, cliquez sur trois points (...) et sélectionnez supprimer.
Prashant Sharma
la source
7

Je pourrais supprimer la plupart de mes branches mais l'une ressemblait à ceci et je ne pouvais pas la supprimer:

entrez la description de l'image ici

Il s'est avéré que quelqu'un s'était assis Branch permissionssous Settingset à partir de là sans contrôle Allow deleting this branch. J'espère que cela peut aider quelqu'un.

entrez la description de l'image ici

Mise à jour : où se trouvent les paramètres de la question dans le commentaire. Entrez le référentiel que vous ne souhaitez pas modifier pour obtenir le menu. Vous aurez peut-être besoin de privilèges d'administrateur pour changer cela.

entrez la description de l'image ici

Ogglas
la source
Où peut-on trouver les "Paramètres"? Je dois supprimer la branche principale ou tous les fichiers qu'elle contient. Comment fait-on ça?
3

Étape 1: Connectez-vous à Bitbucket

Étape 2: Sélectionnez votre référentiel dans la liste des référentiels. entrez la description de l'image ici

Étape 3: Sélectionnez les branches dans le menu de gauche. entrez la description de l'image ici

Étape 4: pointez le curseur sur la branche cliquez sur trois points (...) Sélectionnez Supprimer (voir dans l'image ci-dessous) entrez la description de l'image ici

Nanhe Kumar
la source
2

Si vous utilisez un IDE pycharm pour le développement et que vous avez déjà ajouté Git avec lui. vous pouvez directement supprimer la branche distante de pycharm. Depuis la barre d'outils VCS -> Git -> Branches -> Sélectionnez une branche -> et Supprimer . Il le supprimera du serveur git distant.

Jyoti Amage
la source
2

J'ai écrit ce petit script lorsque le nombre de branches dans mon dépôt dépassait plusieurs centaines. Je ne connaissais pas les autres méthodes (avec CLI) alors j'ai décidé de l'automatiser avec du sélénium. Il ouvre simplement le site Web de Bitbucket, va dans les branches, fait défiler la page jusqu'à la fin et clique sur chaque menu d'options de branche -> clique sur le bouton Supprimer -> clique sur Oui. Il peut être réglé pour conserver les N dernières branches (100 par défaut) et ignorer les branches avec des noms spécifiques (master, develop - default, pourrait être plus). Si cela vous convient, vous pouvez essayer de cette façon.

https://github.com/globad/remove-old-branches

Tout ce dont vous avez besoin est de cloner le référentiel, de télécharger la version appropriée de Chrome-webdriver, de saisir quelques constantes telles que l'URL de votre référentiel et d'exécuter le script.

Le code est assez simple à comprendre. Si vous avez des questions, écrivez des commentaires / créez un problème.

Dan
la source
1

Essayez cette commande, elle purgera toutes les branches qui ont été fusionnées dans la developbranche.

for i in `git branch -r --merged origin/develop| grep origin | grep -v '>' \
   | grep -v master | grep -v develop | sed -E "s|^ *origin/||g"`; \
do \
   git push origin $i --delete; \
done
Ehab Al-Hakawati
la source
0

Dans Android Studio , les options dans le coin droit de l'EDI:

  • Changer / commander une autre succursale locale
  • Supprimer les branches locales indésirables (c'est-à-dire v0.0.1 ...)
  • Supprimer les branches distantes indésirables (c'est-à-dire origine / v0.0.1 ...) - cette étape supprimera les branches dans BitBucket si les branches ne sont pas empêchées d'être supprimées et qu'elles ne sont pas la BRANCHE PRINCIPALE .
Tim Long
la source
0

Si vous aimez vous amuser, alors vous pouvez simplement aller sur la page de liste de vos branches (par exemple fusionnées) et simplement exécuter dans la console javascript:

document.querySelectorAll('tr td div a:first-child').forEach(function(item) { fetch('https://bitbucket.org/snippets/new?owner=<yourprofilenick>', {'credentials': 'same-origin'}).then((response) => {return response.text()}).then(function(string) { return /'csrfmiddlewaretoken' value='(.*)'/g.exec(string)[1] }).then(function(csrf) { if (!~item.innerText.indexOf('/')) return; 
 fetch(`https://bitbucket.org/!api/2.0/repositories/<your_organization_path>/refs/branches/${item.innerText}`, {headers: {"x-csrftoken": csrf}, credentials: "same-origin", method: 'DELETE'}).then(() => console.log(`${item.innerText} DELETED!`)) }) })

AVANT DE COURIR

  • remplacer <yourprofilenick>par votre pseudo BitBucket
  • remplacer <your_organization_path>par le chemin de votre organisation

COMMENT ÇA FONCTIONNE

Nous avons d'abord besoin d'une page avec un jeton CSRF dans la source de la page, alors je choisis:

https://bitbucket.org/snippets/new?owner=<yourprofilenick>

Ensuite, pour chaque branche (dans une liste de branches), il obtient un jeton CSRF et supprime cette branche.

IL FAUT SE MÉFIER

Rappelez-vous d'éviter les branches sensibles avant de supprimer dans les paramètres du dépôt.

Il ne supprimera PAS la branche principale.

INFORMATION ADDITIONNELLE

Vous devez être connecté.

Il supprime uniquement les branches visibles sur cette page (donc pour supprimer le reste des branches, vous devez aller à la page suivante).

Turkus
la source