Continuamos con la serie de artículos sobre git-flow. En la entrega anterior conocimos a Vincent Driessen y su flujo de trabajo. Hoy vamos a ver cómo instalar las extensiones en nuestra máquina.
Instalación de git-flow
Mac
Si habéis instalado git a través de homebrew o macports, la instalación se muy sencilla:
$ brew install git-flow $ port install git-flow
Si tienes problemas con XCode 4.2 y Macports 2.0.4, sigue las instrucciones que se dan en la página de git-flow. También es posible utilizar la instalación a través de wget usando el script de instalación de Rick Osborne:
wget --no-check-certificate -q -O - https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo bash
Linux
git-flow tiene paquetes para distribuciones basadas en debian y Ubuntu. Utiliza el gestor de paquetes de tu distribución, busca el paquete e instálalo. En debian/Ubuntu, el paquete se llama git-flow, en fedora gitflow y en Archlinux gitflow-git.
Si tu distribución no tiene paquete disponible en los repositorios oficiales como ocurre con centos 5, la mejor manera de instalarlo es utilizar el script de instalación:
wget --no-check-certificate -q -O - https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo bash
Windows
Las instalación es un poco más tediosa, aunque no es complicada. Seguiremos las instrucciones que se dan en la página de git-flow aunque con un poco más de detalle:
- En la página del paquete util-linux-ng para windows, nos bajamos los binarios y las dependencias
- Descomprimimos los dos ficheros descargados: util-linux-ng-[version]-bin.zip y util-linux-ng-[version]-dep.bin
- Dentro de la carpeta “util-linux-ng-[version]-bin”, copiamos el fichero bin/getopt.exe a la carpeta C:\Program Files\Git\bin
- Dentro de la carpeta “util-linux-ng-[version]-dep”, copiamos el fichero bin/libintl3.dll a la carpeta C:\Program Files\Git\bin
- Nota: en mi caso, tuve que hacer esto desde la línea de comandos lanzando un terminal de git bash como administrador de la máquina
- Una vez copiados los ficheros, se clona el repositorio git://github.com/nvie/gitflow.git. Puedes clonarlo utilizando la línea de comandos o tu cliente gráfico favorito.
- Por último, abrimos una terminal de windows dentro del repositorio que acabamos de clonar y ejecutamos el comando contrib/msysgit-install.cmd “C:\Program Files\Git” (sustituyendo la ruta si en tu máquina la tienes en una carpeta diferente). Nota: este terminar también tuve que lanzarla como usuario administrador, mi usuario de trabajo no tiene permiso en la carpeta C:\Program Files\Git.
Listo, para confirmar que lo tenemos instalado, abrimos git bash, creamos una carpeta vacía y dentro inicializamos el repositorio con el siguiente comando:
$ git flow init
Si todo ha ido bien, esto es lo que deberíamos observar:
Pingback: git-flow: la rama develop y uso de feature branches | Aprende GIT
Pingback: git-flow: Resumen y conclusiones | Aprende GIT
En la instalación Windows ¿cómo ejecuto contrib/msysgit-install.cmd “C:\Program Files\Git” si «contrib» no es un comando?
Olvida. Era una carpeta «contrib». Gracias!
…eso te iba a decir, que es una carpeta ;-). Veo que al menos sólo tardaste 3 minutos en darte cuenta, hay veces que se te va mucho más tiempo en tonterías como esta.
Pingback: instalar gitflow en linux mint | Halcón centenario
He realizado todos los pasos descritos y al momento de ejecutar el comando «git flow init», me arroja el siguiente error:
git: ‘flow’ is not a git command. See ‘git –help’.
Did you mean one of these?
reflog
show
La version de git que tengo instalada es la 2.5. Me podrias ayudar a saber que tengo mal.
al clonar el proyecto de git hub me da este erorr
nvie/gitflow.git. is not a valid repository name
habra otro proyecto que pueda clonar? o yo esto haciendo algo mal?
Pingback: Instalación de git-flow en linux, window...
En el caso de Windows cuando hagan pull del repositorio git://github.com/nvie/gitflow.git haganlo recursivo o dentro de la carpeta creada por la linea de comandos ejecuten «git submodule update» para que traiga el codigo de la carpeta shFlags.