…
Seguir leyendoUsar git para controlar las versiones locales ya es de por si una gran ayuda, ahora bien, la herramienta se vuelve más útil cuando se tiene que utilizar para subir código y proyectos, por ejemplo, a un servidor web.
Antes que nada deben revisar que su servidor, o el lugar a donde van a subir su repositorio tenga git, posteriormente deben iniciar un repositorio vacío con el comando:
git --bare init [Nombre del repositorio]
Por convención, los repositorios vacíos llevan un .git al final por lo que un ejemplo se vería así:
git --bare init glowing-computing-machine.git
Después de haber hecho el repositorio vacío podrán acceder a el y verán los siguientes archivos y directorios
Ahora, para que nuestro repositorio se actualice automáticamente, debemos agregar un hook… exacto, en la carpeta de hooks encontraremos algunos por default, pero el que utilizaremos se llama diferente a los que se encuentran ahí: post-receive. Creamos el archivo y le agregaremos la siguiente línea:
git --work-tree=[ruta de destino] --git-dir=[ruta de origen] checkout -f
#
# La ruta de origen será la ruta en donde está
# el repositorio vacío, un ejemplo sería este:
git --work-tree=/home/hali/Documentos/Git/_site \
--git-dir=/home/hali/Documentos/Git/glowing-computing-machine.git \
checkout -f
Por último agregamos los permisos para ejecutar el archivo que creamos
chmod +x post-receive
Solo queda probar, en mi caso, el directorio al que apunté está completamente
vacío
luego haré un git clone
y ¡listo! Podemos entrar a subir contenido… pero resulta molesto tener que escribir nuestra contraseña cada que necesitemos hacer un pull o un push, así que con ayuda del comando ssh-copy-id podemos agregar nuestra llave pública a la lista de llaves aceptadas en el servidor
ssh-copy-id [ip del servidor]
Así podemos subir codigo a nuestro repo y este se copiará automáticamente en el directorio que elegimos.