GIT di tiro / recuperare da tag specifico
Domanda
C'è un modo per tirare / recuperare codice da un tag specifico in un repo.
Sono consapevole che dopo il clone, posso Checkout per il tag, ma è possibile specificare un tag durante un pull?
In ClearCase posso rebase o consegnare una specifica linea di base di codice, c'è un modo in cui posso utilizzare i tag git in modo simile a tirare codice / spinta fino a un tag specifico?
Soluzione
Sarà un po 'diverso con ClearCase, perché è possibile rebase solo una linea di base prodotta sul genitore Stream (anche se è possibile fornire alcuna linea di base da qualsiasi flusso al vostro Stream).
Quindi ci sono alcune limitazioni al tipo di unione che si fa con ClearCase.
Con Git, è possibile unire qualsiasi impegnano al HEAD
del ramo corrente.
Se questo impegno viene da un pronti contro termine a distanza, esso sarà prima importata nelle filiali remote del vostro repo locale ( 'fetch
' parte del git pull
) e poi fuse.
git pull [options] [<repository> [<refspec>…]]
La parte "refspec
" dei mezzi git comando a trazione si può tirare qualsiasi cosa.
<refspec>
può nominare un arbitro remoto arbitrario (ad esempio, il nome di un tag) o anche un insieme di refs corrispondente remoto inseguimento rami (ad esempio,refs/heads/:refs/remotes/origin/
), ma di solito è il nome di un ramo nel repository remoto .
Altri suggerimenti
Pull è prendere + unione.
Parlando di come per andare a prendere una specifica distanza ref (sia un tag o ramo), probabilmente un esempio è meglio a chiarire questo:
git fetch origin :refs/remotes/origin/master
O una forma più breve:
git fetch origin :remotes/origin/master
Nota Questo funziona anche se remotes/origin/master
è stato rimosso a livello locale.
Un altro esempio per creare un ramo locale direttamente da un tag remoto
git fetch <repo_url> +refs/tags/<TAG>:<branch>