Risposte:
Se i rami sono solo locali, puoi usare -d se il ramo è stato unito, ad esempio
git branch -d branch-name
Se il ramo contiene codice che non prevedi mai di unire, usa invece -D .
Se il ramo si trova nel repository upstream (su Bitbucket) è possibile rimuovere il riferimento remoto di
git push origin :branch-name
Inoltre, se ti trovi sul sito Web di Bitbucket, puoi rimuovere i rami che hai inviato andando alla scheda Rami delle caratteristiche in Impegni sul sito. Lì troverai un'icona con i puntini di sospensione. Fare clic su questo, quindi selezionare Elimina ramo . Basta essere sicuri di voler eliminare tutte le modifiche lì!
Per eliminare il ramo da Bitbucket,
Oltre alla risposta fornita da @Marcus, ora puoi anche eliminare un ramo remoto tramite:
git push [remote-name] --delete [branch-name]
in Bitbucket vai ai rami nel menu a sinistra.
Potrei cancellare la maggior parte dei miei rami ma uno sembrava così e non potevo cancellarlo:
Si è scoperto che qualcuno si era messo Branch permissions
sotto Settings
e da lì non controllato Allow deleting this branch
. Spero che questo possa aiutare qualcuno.
Aggiornamento : dove si trovano le impostazioni dalla domanda nel commento. Immettere il repository che non si desidera modificare per ottenere il menu. Potresti aver bisogno dei privilegi di amministratore per cambiare questo.
Se stai usando un IDE pycharm per lo sviluppo e hai già aggiunto Git con esso. è possibile eliminare direttamente la diramazione remota da pycharm. Dalla barra degli strumenti VCS -> Git -> Branches -> Seleziona branch -> ed Elimina . Lo eliminerà dal server remoto git.
Ho scritto questa piccola sceneggiatura quando il numero di filiali nel mio repository ha superato diverse centinaia. Non sapevo degli altri metodi (con CLI) quindi ho deciso di automatizzarlo con il selenio. Apre semplicemente il sito Web di Bitbucket, va su Branches, scorre la pagina fino alla fine e fa clic sul menu di tutte le opzioni di branch -> fa clic sul pulsante Elimina -> fa clic su Sì. Può essere ottimizzato per mantenere gli ultimi N (100 - default) rami e saltare i rami con nomi specifici (master, sviluppo - default, potrebbe essere maggiore). Se questo è adatto a te, puoi provare in questo modo.
https://github.com/globad/remove-old-branches
Tutto ciò che serve è clonare il repository, scaricare la versione corretta di Chrome-webdriver, inserire poche costanti come l'URL nel repository ed eseguire lo script.
Il codice è abbastanza semplice da capire. In caso di domande, scrivere commenti / creare un problema.
Prova questo comando, eliminerà tutti i rami che sono stati uniti al develop
ramo.
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
In Android Studio , le opzioni nell'angolo destro dell'IDE:
Se ti piace il divertimento, puoi semplicemente andare alla pagina di elenco dei tuoi rami (ad esempio uniti) ed eseguire semplicemente nella 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!`)) }) })
<yourprofilenick>
con il tuo nick BitBucket<your_organization_path>
con il percorso dell'organizzazionePer prima cosa abbiamo bisogno di una pagina con un token CSRF nell'origine della pagina, quindi scelgo:
https://bitbucket.org/snippets/new?owner=<yourprofilenick>
Quindi per ogni ramo (in un elenco di rami) ottiene il token CSRF ed elimina quel ramo.
Ricordare di evitare i rami sensibili prima di eliminare le impostazioni del repository.
NON eliminerà il ramo principale.
Devi aver fatto l'accesso.
Elimina solo i rami visibili su quella pagina (quindi per eliminare il resto dei rami devi andare alla pagina successiva).