2009-11-24 11 views
10

En su 2005 email to the Linux Kernel mailing list, Linus Torvalds es muy enfático en que las etiquetas en git debe ser privado y no se incluye automáticamente al ir a buscar a los demás:Etiquetas globales de Git --- evidentemente malas, pero ¿por qué?

Tirando de una cabeza normal no puede y necesidadno etiquetas de actualización . Las etiquetas no se asociados con el árbol, y ellos no puede y necesidadno ser así, exactamente porque eso haría que ellos global en vez de privada, y sería fundamentalmente hacer que no se distribuirán

y:

es mal, mal, mal a pensar que ir a buscar a alguien vigilara árbol medios que deberías buscar sus etiquetas

No soy un kernel hacker. Una de las razones por las que uso git es poder editar mi propio código desde diferentes ubicaciones. Las etiquetas parecen una forma natural de describir diferentes versiones para futuras referencias, p. qué funciona, qué no, qué peculiaridades existen. Por lo tanto, me parece útil que las etiquetas persistan en las búsquedas. ¿Puede alguien explicar cuál es el peligro de este paradigma?

¿Por qué es tan importante tener etiquetas privadas? ¿Y cuál es la alternativa? ¿Debo simplemente hacer una sucursal por separado cada vez que quiera marcar una versión particular del código?

+0

Tenga en cuenta que sólo es el valor por defecto; las etiquetas no se insertan porque por defecto git push ** matching **. Cuando recupera las etiquetas git ** autofolows ** (es decir, las recupera cuando obtiene las confirmaciones a las que apuntan). Siempre puedes configurar git para enviar/buscar todas las etiquetas. –

Respuesta

6

La palabra clave allí es "no automáticamente incluido." Puede empujar y tirar etiquetas, solo tiene que especificarlo en sus comandos push/pull. Pruebe git push --tags.

(En realidad, las etiquetas son extraídos automáticamente estos días, pero empuja debe ser explícita.)

+1

En realidad, las etiquetas están ** automedicadas ** en la búsqueda de forma predeterminada, lo que significa que git buscará las etiquetas que apuntan a las confirmaciones obtenidas. –

+1

Las etiquetas no se incluyen automáticamente durante la inserción, ya que de manera predeterminada, git pulsa ** referencias ** correspondientes (y, por definición, las nuevas etiquetas no estarían presentes en el lado remoto, por lo tanto, no coincidirían). –

6

No lo sé, pero las etiquetas son actualmente recuperadas, y eso ha sido el valor predeterminado durante bastante tiempo.

La fraseología en las partes que está citando me parece confusa cuando la miro con la terminología git de hoy, así que me atrevería a afirmar que la declaración de Linus está desactualizada.

Cuestiones relacionadas