Elimina i rami in Bitbucket


133

Ho creato molte filiali in uno dei nostri repository. Quei rami devono essere testati prima che vengano estratti dal master. Ora ne vedo molti nell'elenco e non li useremo mai più. Come eliminare quei rami direttamente su Bitbucket?

Risposte:


224

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ì!

inserisci qui la descrizione dell'immagine


2
Se eseguo 'git branch -r', noto che BB non sta cancellando il ramo dal server. Non viene più visualizzato nella GUI, ma viene mostrato sul server git.
fagiolo jersey

37

Per eliminare il ramo da Bitbucket,

  1. Vai a Panoramica (Il tuo repository> rami nella barra laterale sinistra)
  2. Fai clic sul numero di filiali (che dovrebbe mostrare l'elenco delle filiali)
  3. Fai clic sul ramo che desideri eliminare
  4. Nell'angolo in alto a destra, fai clic sui 3 punti (oltre al pulsante Unisci).
  5. C'è l'opzione di "Elimina filiale" se si dispone di diritti.

1
Dov'è la 'panoramica'? Se intendi Sorgente, non vedo alcuna opzione "Elimina ramo" sotto ...
Niico,

7
Il passaggio 1 dovrebbe essere "vai al tuo repository e fai clic su" rami "nella barra laterale di sinistra."
Noumenon,

19

Oltre alla risposta fornita da @Marcus, ora puoi anche eliminare un ramo remoto tramite:

git push [remote-name] --delete [branch-name] 

8

in Bitbucket vai ai rami nel menu a sinistra.

  1. Seleziona la tua filiale che desideri eliminare.
  2. Vai alla colonna azione, fai clic su tre punti (...) e seleziona Elimina.

7

Potrei cancellare la maggior parte dei miei rami ma uno sembrava così e non potevo cancellarlo:

inserisci qui la descrizione dell'immagine

Si è scoperto che qualcuno si era messo Branch permissionssotto Settingse da lì non controllato Allow deleting this branch. Spero che questo possa aiutare qualcuno.

inserisci qui la descrizione dell'immagine

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.

inserisci qui la descrizione dell'immagine


Dove si trovano le "Impostazioni"? Devo eliminare il ramo principale o tutti i file in esso contenuti. Come lo faccio?

3

Passaggio 1: accedi a Bitbucket

Passaggio 2: selezionare il proprio repository nell'elenco Repository. inserisci qui la descrizione dell'immagine

Passaggio 3: selezionare i rami nel menu a sinistra. inserisci qui la descrizione dell'immagine

Passaggio 4: Punto cursore sul ramo fare clic su tre punti (...) Selezionare Elimina (vedere nell'immagine qui sotto) inserisci qui la descrizione dell'immagine


2

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.


2

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.


1

Prova questo comando, eliminerà tutti i rami che sono stati uniti al developramo.

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

In Android Studio , le opzioni nell'angolo destro dell'IDE:

  • Modifica / verifica altra filiale locale
  • Elimina le filiali locali indesiderate (es. V0.0.1 ...)
  • Elimina rami remoti indesiderati (ad es. Origine / v0.0.1 ...): questo passaggio eliminerà i rami in BitBucket se i rami non possono essere eliminati e non sono FILIALE PRINCIPALE .

0

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!`)) }) })

PRIMA DI ESEGUIRE

  • sostituiscilo <yourprofilenick>con il tuo nick BitBucket
  • sostituire <your_organization_path>con il percorso dell'organizzazione

COME FUNZIONA

Per 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.

ATTENZIONE

Ricordare di evitare i rami sensibili prima di eliminare le impostazioni del repository.

NON eliminerà il ramo principale.

INFORMAZIONI ADDIZIONALI

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).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.