Una situación común al inicio de cada proyecto es crear el repositorio de código para el control de versiones.
Normalmente los proyectos en los que trabajo son de tamaño medio o grande por lo que disponemos de un servidor VPS o dedicado en el que instalar el servidor GIT, pero si no es el caso, siempre se puede utilizar github o bitbucket.
En ese caso podéis saltar la primera parte de la explicación.
Instalación de GIT
Como de costumbre, solemos utilizar Debian para nuestros proyectos, así que, sirva el ejemplo con esta distriución.
user@server:/# apt-get install git-core
Sencillo, verdad?
Crear el repositorio GIT compartido
Si estais empezando con GIT, siempre surge la duda de los tipos de repositorio GIT bare y non-bare. Podéis echar un vistazo al link anterior para comocer las diferencias básicas. En este caso montaremos una arquitectura como la siguiente:
Con esta arquitectura se dispone de un servidor GIT compartido y varios desarrolladores pueden trabajar sobre el mismo.
Para ello, creamos un repositorio bare en algún lugar de nuestro servidor:
user@server:/# cd /home/miusuario user@server:/# mkdir mirepo.git user@server:/# cd mirepo.git user@server:/# git init --bare --shared
Crear el repositorio GIT local
A continuación debemos iniciar nuestro repositorio local en nuestra máquina de desarrollo. Tanto si tenemos un proyecto como si no, iremos a la carpeta del proyecto y ejecutaremos.
user@localpc:/# cd /ruta/al/proyecto user@localpc:/# git init
El siguiente paso (opcional) será crear el fichero .gitignore, dentro de nuestra carpeta de proyecto. En dicho archivo deberemos incluir todos los ficheros o rutas que deseemos excluir del control de versiones. Por ejemplo si nuestro proyecto genera archivos de salida, es habitual y recomendable dejar fuera dichos archivos.
Por ejemplo en el caso de Magento, plataforma con la que trabajamos habitualmente, el contenido inicial habitual de nuestros ficheros .gitignore suele ser algo como lo siguiente:
app/etc/local.xml dev/ media/ var/
A continuación, si nuestro proyecto ya está en curso y tenemos archivos que poner bajo control de versiones, ejecutaremos las siguientes ordenes para añadir todos los archivos del proyecto a nuestro repositorio:
user@localpc:/# git add . user@localpc:/# git commit -m "Versión inicial"
Con esto tenemos un repositorio completamente funcional en nuestra máquina local, pero seguramente querremos enviar todos estos archivos al repositorio compartido para que el resto de usuarios puedan descargarlo.
user@localpc:/# git remote add origin miusuario@mihost:/home/miusuario/mirepo.git user@localpc:/# git push origin master
Ahora tenemos el código tanto en nuestra máquina local como en el repositorio remoto, preparado y listo para que el resto de desarrolladores lo descarguen.
En cualquier otra máquina, podremos conectarnos al nuevo repositorio y realizar la copia a local para empezar a trabajar. Para ello en la carpeta donde deseemos alojar el proyecto:
user@localpc:/# git init user@localpc:/# git remote add origin miusuario@mihost:/home/miusuario/mirepo.git user@localpc:/# git pull origin master
Con esto tenemos nuestros repositorios compartidos y locales listos para trabajar.
Estimado Daniel, en estos instantes probare tus comandos, pero seria bueno que en el recuadro donde se descarga el repositorio remoto en diferentes hosts, en tu descripcion pusieras:
user@anyhost:
Y en el servidor git:
admin@servergit:
Para que se entienda mucho mas rapido
Saludos !
Muy buen post. Me sirivió muchísimo y me ayudó a comprender de forma muy rápida el funcionamiento general de git, había leído en otros lugares y sinceramente ninguno fue tan claro. Saludos.
Hermano como puedo crear un repositorio de codigo y pubicarlo en la web utilizando Python con Django, Sldos
Todo bonito
Gracias por haberte dedicado el tiempo en hacer el artículo, fue lo que estaba buscando, además que me ayudo perfectamente sin equivocarme.
Gracias por el aporte me sirvio muhco