2012-09-19 16 views
15

Avevo bisogno di unire due rami - second in first e quindi di eliminare second. Ecco quello che ho fatto:Perché non mi permette di eliminare in sicurezza una filiale?

  • git clone d il progetto per ottenere una nuova copia
  • git checkout --track origin/second, apportato alcune modifiche, e impegna
  • git checkout --track origin/first, apportato alcune modifiche, e impegnata
  • git merge second (git dice " fusione fatta da recursive ")
  • git branch -d second

Quindi git dice:

$ git branch -d second 
warning: not deleting branch 'second' that is not yet merged to 
     'refs/remotes/origin/second', even though it is merged to HEAD. 
error: The branch 'second' is not fully merged. 
If you are sure you want to delete it, run 'git branch -D second'. 

Perché sta succedendo? Non ho mai ricevuto questo messaggio dopo un'unione prima. L'unione ha funzionato bene, nessun conflitto. Come posso eliminare in modo sicuro il ramo second?

+0

'git checkout second' seguito da' git push origin second' fa smettere di lamentarsi git, ma non capisco perché. –

+1

Un'ipotesi selvaggia, ma forse git lamenta che non hai spinto 'second' all'origine prima di eliminarlo? Assicurati anche di non essere nello stato di »TESTA distaccato« – knittl

+0

@knittl sì, sembra che tu abbia ragione, ma perché preoccuparsi se ho spinto il secondo? –

risposta

32

Sulla base dei miei esperimenti e dei commenti di @ knittl e @ twalberg, sembra che Git volesse semplicemente che io trasmettessi le modifiche al ramo second prima di eliminarlo.

ho fatto:

$ git checkout second 
$ git push origin second 
$ git checkout first 
$ git branch -d second 

che ha lavorato senza avvisi.

+0

Non 'git branch -D second' lo risolve o è una pratica pericolosa? – Bart

+0

@Bart dipende da cosa intendi per "risolverlo". Se ciò non avesse lo stesso risultato della mia soluzione, lo stato del telecomando "origine" sarebbe diverso. –

+0

@Bart che dovrebbe essere usato solo quando sai cosa stai facendo. Git fornisce soprattutto avvertimenti utili, quindi è sempre meglio non forzare le cose su di esso. – cst1992

Problemi correlati