2012-06-22 15 views
33

Sto usando git insieme a flusso git. Qui git flow ha un ramo develop. Ogni volta che ho bisogno di iniziare caratteristica scrivFlusso Git elimina il ramo sul server remoto?

git flow feature start new 

viene creato un nuovo ramo feature/new. Poi faccio le modifiche e impegno utilizzando

git push origin feature/new 

Dopo comitting i cambiamenti finisco funzione utilizzando

git flow feature finish new 

si cancellafeature/new ramo a livello locale. Ora sono acceso per sviluppare ramo per git flusso e ho di nuovo digito

git push origin develop 

che apportare modifiche al server remoto develop ramo

Se digito git branch -a, la nuova filiale ha ottenuto cancellato dal locale, ma c'è sul server con nome remotes/origin/feature/new

Il flusso git elimina i rami sul server remoto che vengono eliminati sul mio computer locale?

Per favore dimmi se sto facendo un errore.

risposta

29

Guardando allo source sembra che il ramo di funzionalità remoto venga eliminato solo se si chiama git flow feature finish con -F.

Tuttavia, questo recupera il telecomando prima di terminare la funzione. Dal docs:

-F prendere da $ ORIGIN prima di eseguire finitura

altrimenti si può delete the remote branch manualmente con:

git push origin :feature/new 
14

Posso suggerire utilizzando l'AVH git-flow Edizione.

Come ha detto Stefan, la versione originale elimina solo il ramo remoto quando si utilizza -F, il che è piuttosto strano. L'AVH Edition corregge questo comportamento eccentrico, sarà sempre eliminare il ramo di caratteristica locale e remoto su un finale, a meno che non si specifica né

  • --keep, che mantiene il locale e remota.
  • --keeplocal, che mantiene il locale, ma elimina il telecomando.
  • --keepremote, che mantiene il telecomando, ma elimina il locale.

È possibile trovare git-flow AVH Edition su github.

+0

L'edizione AVH gestisce anche '' 'feature pull'''? Ho appena impostato una taglia, perché la funzione '' 'pull''' nel git-flow originale è molto confusa (http://stackoverflow.com/questions/18412750/why-doesnt-git-flow-feature-pull-track), apprezza ogni input per avere una risposta cannonica. – dashesy

+0

Il comando pull funzionalità sarà deprecato per versione 2.0 e sarà disponibile solo la traccia caratteristica. –

+0

C'è un modo per taggare automaticamente dove si trovava la feature HEAD prima di rimuoverlo? Mi piace vedere i piccoli tag verdi in git-web, ma quando il telecomando viene cancellato, quelli vanno via. – avatarofhope2

2

Cosa dovevo fare:

git flow feature delete -f name_feature 

Il -f è necessaria se ci sono cambiamenti all'interno del ramo di caratteristica.

git push origin --delete feature/name_feature 

Vale per eliminare anche il ramo remoto.