Eliminazione di una filiale locale con Git


135

Ho cercato su Google e ci sono molti thread molto lunghi su questo argomento e nessuno di questi sembra aiutare. Penso di aver fatto qualcosa di sbagliato. Ho un ramo chiamato Test_Branch. Quando provo a eliminarlo utilizzando il metodo di raccomandazione, viene visualizzato il seguente errore:

Impossibile eliminare il ramo "Test_Branch" estratto in "[posizione directory]".

Non ricevo altre informazioni oltre a quello. Posso spazzare via facilmente il ramo remoto ma il ramo locale non andrà via.


A proposito, sono totalmente nuovo in Git. Usavo solo negli ultimi giorni. Ho seguito diversi corsi online e letto alcuni libri e le risposte non sembrano essere nemmeno lì.
Bob Wakefield,

Se esegui git branch, cosa dice?
coredump,

19
Nella foto, ecco cosa sta succedendo: publicdomainpictures.net/pictures/10000/velka/…
coredump,

git branch mi dà * Test_Branch master
Bob Wakefield il

La stella ti dice in quale ramo sei attualmente, questo conferma ciò che dicono le risposte
coredump

Risposte:


245

Passa a qualche altro ramo ed elimina Test_Branch, come segue:

$ git checkout master
$ git branch -d Test_Branch

Se il comando sopra ti dà un errore - The branch 'Test_Branch' is not fully merged. If you are sure you want to delete ite ancora vuoi eliminarlo, puoi forzarlo eliminandolo usando -Dinvece di-d , come:

$ git branch -D Test_Branch

Per eliminare anche Test_Branchda remoto, eseguire:

git push origin --delete Test_Branch

34
Il cambio di ramo è stato ciò che mi ha fatto - buona cattura! Non puoi eliminare il ramo se sei attivo in esso. ;-)
SliverNinja - MSFT

2
Se provi alcuni checkout diversi e ricevi ancora lo stesso messaggio, guarda l'output di git status, o git branch; se stai eseguendo il rebasing di Test_branch, la semplice verifica di un altro ramo / commit non risolverà il problema. Invece git rebase --abortallora git checkout --detache infinegit branch -D Test_branch
droide il

3
Ulteriori prove che git sta per "git is terrible". Più lo uso, più questi cerchi ridicoli che devi saltare. Soprattutto perché probabilmente vorrai tornare allo stesso ramo.
user949300

E cosa succede se qualcuno ottiene questo in cambio, quando cerca di cambiare filiale? error: you need to resolve your current index firste vogliono solo LASCIARE? EDIT - Soluzione: git reset --; git checkout -D [branch_name]Uff ...
Paul,

21

Probabilmente hai Test_Branch estratto e non puoi eliminarlo mentre è il tuo ramo attuale. Controlla un altro ramo, quindi prova a eliminare Test_Branch.


14

Mi sono imbattuto in questo oggi e passare a un altro ramo non ha aiutato. Si è scoperto che in qualche modo le mie informazioni sul worktree erano state corrotte e che c'era un worktree con lo stesso percorso di cartella della mia directory di lavoro con un HEADpuntamento al ramo ( git worktree list). Ho eliminato la .git/worktree/cartella a cui faceva riferimento e ha git branch -dfunzionato.


3

Se hai creato più ambienti di lavoro con git worktree , dovrai eseguire git pruneprima di poter eliminare il ramo


3
più specificamente, dovrai usaregit worktree prune
Sergioet il

ma leggi cosa fa git prune, in primo luogo - potrebbe portare alla perdita di dati
sesquipedalias

1

Questo ha funzionato per me ...
Ho rimosso le cartelle nella cartella .git / worktrees e poi ho provato a "git delete -D branch-name".


1

Nel mio caso si sono verificati cambiamenti non confermati rispetto al ramo precedente. Ho usato i seguenti comandi e poi ho eliminato funzionato.

git checkout *

git checkout master

ramo git MrGreen


0

Come altri menzionati, non è possibile eliminare il ramo corrente in cui si sta lavorando.

Nel mio caso, ho selezionato "Test_Branch" in Visual Studio e stavo cercando di eliminare "Test_Branch" da Sourcetree (Git GUI). E stava arrivando sotto il messaggio di errore.

Impossibile eliminare il ramo "Test_Branch" estratto in "[posizione directory]".

Passato a diversi rami in Visual Studio ed è stato in grado di eliminare "Test_Branch" da Sourcetree.

Spero che questo aiuti qualcuno che sta usando Visual Studio & Sourcetree .

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.