2013-06-20 10 views
24

Quando recuperi un solo ramo, git fetch include i tag che puntano nel ramo:Come rendere "git push" includere i tag all'interno di un ramo?

Quando memorizza il risultato refspec recuperato in filiali remote-tracking, i tag che puntano a questi rami sono seguiti automaticamente. Questo viene eseguito recuperando prima dal remoto utilizzando i dati specificati, e se il repository ha oggetti puntati da tag remoti che non ha ancora, quindi recupera quei tag mancanti. Se l'altra estremità ha tag che puntano ai rami a cui non sei interessato, non li otterrai a .

C'è un modo per rendere git push si comportano allo stesso modo? La pagina man dice come non premere nessun tag (predefinito), tutti i tag (--tags) o quelli che si nominano sulla riga di comando. Non dà il modo di spingere tutti quelli che puntano nel ramo.

risposta

37

Si può provare, con git1.8.3+ (Maggio 2013):

git push --follow-tags 

La nuova opzione "--follow-tags" dice "git push" per spingere ai tag annotati quando si spinge dirama.

Questo non spingerà tutti i tag, ma solo quelli accessibili dalla testa ramo (es) (s) si sta spingendo.

Come indicato in "Push a tag to a remote repository using Git?", questo riguarda solo annotated tags, non tag leggeri.

git tag 1.0 (leggero) non viene inserito con --follow-tags, con git push --tags.


Con Git 2.4.1+ (Q2 2015), questa opzione può essere impostata come predefinita.

Vedi commit a8bc269 da Dave Olszewski (cxreg):

rendere più facile aggiungere nuovi bit di configurazione e quindi aggiungere push.followTags di configurazione che si trasforma --follow-tags opzione di default.

La documentazione include:

push.followTags:: 

Se impostata su consentire una vera '--follow-tags' opzione di default. Si può ignorare questa configurazione al momento della spinta specificando '--no-follow-tags'

fare attivare questa impostazione a livello globale, è possibile eseguire git config --global push.followTags true. Può anche essere specificato su base per repository.

+0

Vedere anche http://stackoverflow.com/a/3745250/6309 – VonC

+0

Sembra proprio quello che voglio, grazie! –

+2

non funzionano per tag lightweith, solo per tag annotati – netawater