¿Cómo clonar la última rama estable en un directorio a través de github?

2 minutos de lectura

avatar de usuario
dan gayle

Quiero clonar la última versión estable de WordPress desde Github, a través de un script de shell. Es simple obtener la rama maestra inestable:

git clone git://github.com/WordPress/WordPress.git

Pero, ¿cómo puedo obtener la versión estable con el número más alto? a través de un guión, sin verificar manualmente el código. Por ejemplo, utilizando un script de shell de implementación o una herramienta de implementación como Fabric.

Editar: aclaré el texto para indicar mejor la intención de cómo hacer esto desde un script, no manualmente.

  • No rechace esto si la pregunta parece específica de WordPress, se migró de wordpress.stackexchange.com y ahora tiene mucho menos sentido en contexto.

    – Dan Gayle

    3 de noviembre de 2014 a las 21:20

Clona desde git y cambia al directorio de WordPress

git clone git://github.com/WordPress/WordPress.git 
cd WordPress

Luego enumera las ramas…

git branch -r 

Esto da algo como…

origin/1.5-branch   
origin/2.0-branch   
...
origin/3.4-branch  
origin/HEAD -> origin/master   
origin/master

Consulta la sucursal que quieras…

git checkout 3.4-branch
Branch 3.4-branch set up to track remote branch 3.4-branch from origin.
Switched to a new branch '3.4-branch'

  • ¿Qué versión está en la rama maestra?

    – registro de código

    23 de marzo de 2015 a las 21:18

avatar de usuario
dan gayle

Esto es lo que realmente terminé haciendo, que está incluido en un Fabfile de tela que tengo en Github:

git clone git://github.com/WordPress/WordPress.git .
git checkout $(git describe --tags $(git rev-list --tags --max-count=1))

Clona el repositorio como de costumbre, luego hace algo de magia de shell para encontrar la última versión etiquetada de WordPress (que es donde viven las ramas estables).

¿Puedes probar un git checkout master ?

git branch -r le mostrará todas las sucursales remotas

git checkout --track <local_branch> <remote>/<remote_branch> configurará una sucursal local que está rastreando la sucursal remota para enviar u obtener nuevas actualizaciones.

puedes usar este comando después de git clone

git checkout stable

¿Ha sido útil esta solución?