¿Cómo verifico la versión / etiqueta de la versión 1.1.4 del paquete rspec ?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
Clone el repositorio como de costumbre:
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
Luego revisa la etiqueta que quieras así:
git checkout tags/1.1.4
Esto desprotegerá la etiqueta en un estado 'HEAD separado'. En este estado, "puede mirar a su alrededor, hacer cambios experimentales y confirmarlos, y [descartar esas confirmaciones] sin afectar ninguna rama al realizar otro pago".
Para retener los cambios realizados, muévalos a una nueva sucursal:
git checkout -b 1.1.4-jspooner
Puede volver a la rama maestra utilizando:
git checkout master
Tenga en cuenta que, como se mencionó en la primera revisión de esta respuesta, hay otra forma de pagar una etiqueta:
git checkout 1.1.4
Pero como se mencionó en un comentario, si tiene una rama con el mismo nombre, esto dará como resultado que git le advierta que el nombre de referencia es ambiguo y verifique la rama de forma predeterminada:
warning: refname 'test' is ambiguous.
Switched to branch '1.1.4'
La taquigrafía se puede usar de forma segura si el repositorio no comparte nombres entre ramas y etiquetas.
1.1.4
. Git pagará la rama, no la etiqueta. A la caja de forma explícita la etiqueta hacer:git checkout tags/1.1.4
git tag
.A partir de Git v2.23.0 (agosto de 2019),
git switch
es preferible agit checkout
cuando simplemente está cambiando ramas / etiquetas. Supongo que hicieron esto ya quegit checkout
tenían dos funciones: cambiar ramas y restaurar archivos. Entonces, en v2.23.0, agregaron dos nuevos comandosgit switch
, ygit restore
, para separar esas preocupaciones. Yo predeciría que en algún momento en el futurogit checkout
quedará en desuso.Para cambiar a una rama normal, use
git switch <branch-name>
. Para cambiar a un objeto de confirmación, incluidas las confirmaciones individuales y las etiquetas, usegit switch --detach <commitish>
, donde<commitish>
está el nombre de la etiqueta o el número de confirmación.La
--detach
opción te obliga a reconocer que estás en un modo de "inspección y experimentos descartables" . Para crear una nueva rama desde el commit al que está cambiando, usegit switch -c <new-branch> <start-point>
.fuente