web-dev-qa-db-fra.com

Supprimer des branches dans Bitbucket

J'ai créé de nombreuses branches dans l'un de nos référentiels. Ces branches sont à tester avant qu'il ne soit tiré vers le maître. Maintenant, j'en vois beaucoup sur la liste et ils ne l'utiliseront plus jamais. Comment supprimer ces branches directement à Bitbucket?

94
catherine

Si les branches sont uniquement 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 plutôt -D.

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

git Push Origin :branch-name

De même, si vous êtes sur le site Web de Bitbucket, vous pouvez supprimer les branches que vous avez poussées en accédant à l'onglet Feature branches sous Commits sur le site. Vous y trouverez une icône Ellipsis. Cliquez dessus, puis choisissez Supprimer la branche. Assurez-vous simplement de supprimer tous les changements!

 enter image description here

173
Marcus

Pour supprimer une branche de Bitbucket,

  1. Aller à la vue d'ensemble
  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. En haut à droite, cliquez sur les 3 points (à côté du bouton Fusionner).
  5. Il y a l'option "Supprimer la branche" si vous avez des droits.
18
Mital Pritmani

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

git Push [remote-name] --delete [branch-name] 
12
Ralf Rafael Frix

dans Bitbucket va aux branches dans le menu de gauche.

  1. Sélectionnez la branche que vous souhaitez supprimer.
  2. Allez à la colonne Action, cliquez sur trois points (...) et sélectionnez Supprimer.
5
Prashant Sharma

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

 enter image description here

Il s'est avéré que quelqu'un avait défini Branch permissions sous Settings et ensuite décoché Allow deleting this branch. J'espère que cela peut aider quelqu'un.

 enter image description here

Update: Où se trouvent les paramètres de la question dans le commentaire. Entrez le référentiel que vous ne souhaitez pas éditer pour obtenir le menu. Vous pourriez avoir besoin de privilèges d'administrateur pour changer cela.

 enter image description here

5
Ogglas

Étape 1: Connectez-vous à Bitbucket 

Étape 2: Sélectionnez votre référentiel dans la liste des référentiels . enter image description here

Étape 3: Sélectionnez les branches dans le menu de gauche . enter image description here

Étape 4: Curseur sur une branche, cliquez sur trois points (...) Sélectionnez Supprimer (voir dans l'image ci-dessous) enter image description here

2
Nanhe Kumar

Si vous utilisez un pycharm IDE pour le développement et que vous avez déjà ajouté Git à celui-ci. vous pouvez directement supprimer une branche distante de pycharm . Dans la barre d’outils VCS -> Git -> Branches -> Sélectionner une branche -> et supprimer . Elle sera supprimée du serveur git distant.

1
Jyoti Amage

J'ai écrit ce petit script lorsque le nombre de succursales dans mon référentiel a dépassé plusieurs centaines. Je ne connaissais pas les autres méthodes (avec CLI), j'ai donc décidé de l'automatiser avec Selenium. Il ouvre simplement le site Web Bitbucket, accède aux branches, fait défiler la page jusqu'à la fin et clique sur le menu d'options de chaque 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 (maître, développer - par défaut, 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 dans votre référentiel, puis d'exécuter le script.

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

1
Dan

Essayez cette commande, elle purgera toutes les branches fusionnées dans la branche develop.

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
0
Ehab Al-Hakawati

Si vous aimez vous amuser, vous pouvez simplement aller à la page de liste de vos branches (par exemple, fusionné) et simplement exécuter 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 === 'Create') return; 
 fetch(`https://bitbucket.org/!api/2.0/repositories/<your_organization_path>/refs/branches/${item.dataset.branchName}`, {headers: {"x-csrftoken": csrf}, credentials: "same-Origin", method: 'DELETE'}).then(() => console.log(`${item.innerText} DELETED!`)) }) })

AVANT DE COURIR

  • remplacez <yourprofilenick> par votre pseudo BitBucket
  • remplacez <your_organization_path> par votre chemin d'organisation

COMMENT ÇA MARCHE

Nous avons d’abord besoin d’une page avec un jeton CSRF dans le code source de la page. Je choisis donc:

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

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

IL FAUT SE MÉFIER

Veillez à éviter les branches sensibles avant de supprimer les paramètres du référentiel. 

Il ne supprimera pas la branche principale.

INFORMATION ADDITIONNELLE

Vous devez être connecté.

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

0
turkus

Dans Android Studio _, les options situées dans le coin droit de l'EDI:

  • Changer/commander une autre branche locale
  • Supprimer les branches locales indésirables (à savoir v0.0.1 ...)
  • Supprimer les branches distantes non désirées (c'est-à-dire Origin/v0.0.1 ...) - cette étape supprimera les branches dans BitBucket si la suppression des branches n'est pas empêchée et qu'elles ne sont pas les BRANCHE PRINCIPALE.
0
Tim Long