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?
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!
Pour supprimer une branche de Bitbucket,
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]
dans Bitbucket va aux branches dans le menu de gauche.
Je pouvais supprimer la plupart de mes branches, mais l'une d'elles ressemblait à ceci et je ne pouvais pas le supprimer:
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.
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.
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.
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.
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
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!`)) }) })
<yourprofilenick>
par votre pseudo BitBucket<your_organization_path>
par votre chemin d'organisationNous 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.
Veillez à éviter les branches sensibles avant de supprimer les paramètres du référentiel.
Il ne supprimera pas la branche principale.
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).
Dans Android Studio _, les options situées dans le coin droit de l'EDI: