2010-10-18 29 views
19

¿Hay alguna forma de extraer/recuperar el código de una etiqueta específica en un repositorio?GIT extracción/recuperación de la etiqueta específica

Soy consciente de que después de la copia, puedo pagar la etiqueta, pero ¿es posible especificar una etiqueta durante una extracción?

En ClearCase puedo volver a establecer una base de referencia o proporcionar una línea de base de código específica, ¿hay alguna manera en que pueda usar etiquetas git de forma similar al código de extracción/inserción hasta una etiqueta específica?

Respuesta

11

Será un poco diferente con ClearCase, ya que solo puede volver a establecer una base de referencia producida en el Stream principal (aunque puede entregar cualquier línea base desde cualquier Stream a su Stream).
Por lo tanto, existen ciertas limitaciones para el tipo de fusión que usted hace con ClearCase.

Con Git, puede fusionar cualquier confirmación con el HEAD de su rama actual.
Si la confirmación proviene de un repositorio remoto, primero se importará en las sucursales remotas de su repositorio local ('fetch' parte del ') y luego se fusionará.

git pull [options] [<repository> [<refspec>…]] 

El "refspec" parte del comando git medio de tracción se puede tirar nada.

<refspec> puede nombrar a un ref remoto arbitraria (por ejemplo, el nombre de una etiqueta) o incluso una colección de refs con ramas de seguimiento remoto correspondiente (por ejemplo, refs/heads/:refs/remotes/origin/), pero por lo general es el nombre de una rama en el repositorio remoto

Ver también How to pull remote branch with specified commit id?

5

Tire es buscar a + fusionar.

Hablando de cómo buscar un ref remoto específico (ya sea una etiqueta o una rama), probablemente un ejemplo es mejor a aclarar esto:

git fetch origin :refs/remotes/origin/master 

O una forma más corta:

git fetch origin :remotes/origin/master 

Nota esto funciona incluso si remotes/origin/master se ha eliminado localmente.

Otro ejemplo para la creación de una rama local directamente a partir de una etiqueta remoto

git fetch <repo_url> +refs/tags/<TAG>:<branch> 
Cuestiones relacionadas