Montar un servidor de git
La configuración que vamos a usar para configurar el servidor de git es de las mas básicas y no repara en la configuración de usuarios -cualquier usuario con acceso SSH nos sirve-. Mas bien esta configuración es para montar un servidor que podamos usar en nuestra casa o en un grupo de usuarios de confianza.
SERVIDOR:
Primero lo primero, instalar git y la gui de git (es opcional la gui, pero si estas usando una distro con interfaz gráfica te va a venir bien tenerla).
1 |
<span style="font-family: 'Segoe UI', Calibri, 'Myriad Pro', Myriad, 'Trebuchet MS', Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; white-space: normal;"><a style="color: #0071bb; outline-style: none; outline-width: initial; outline-color: initial; padding: 0px; margin: 0px;" href="http://qugstart.com/blog/ruby-and-rails/create-a-new-git-remote-repository-from-some-local-files-or-local-git-repository/">s</a>udo apt-get install git-core git-gui</span> |
Bien, ahora que tenemos git instalado, necesitamos decidir donde vamos a almacenar todos los repositorios que creemos. En mi caso me hice una carpeta llamada git en mi home:
1 2 |
cd /home/capy mkdir git |
Listo, de momento terminamos con el servidor. Vamos al cliente:
CLIENTE:
Mi cliente es un Windows, pero los pasos de la configuración son igualmente validos sobre cualquier linux o mac.
primero te vas a crear una carpeta donde vas a tener tu proyecto., o si ya la tenes partimos de ahí. En mi caso es una pagina web y voy a crear en mi windows la carpeta “ecapy.com”
Cuando tengas la carpeta creada o localizada entramos, hacemos clic derecho y seleccionamos del menú contextual “Git Bash”. Con la consola ya abierta vamos a tirar el siguiente comando para indicarle a git que cree un repositorio con estos archivos (los de tu proyecto):
1 |
git init && git add * && git commit -m "Primer commit" |
Ya tenemos un repositorio de git en nuestro cliente y vamos a copiarlo al servidor en dos pasos.
Paso 1: le decimos a git que haga una copia limpia de nuestro repositorio:
1 |
git clone --bare ecapy.com ecapy.com.git |
lo anterior habrá creado una carpeta nueva llamada “ecapy.com.git” en nuestro repositorio local.
Paso 2: copiemos nuestro repositorio al servidor:
1 |
scp -r ecapy.com.git capy@192.168.1.38:/home/capy/git/ |
Hemos terminado con esta parte. Ya podemos borrar la carpeta “ecapy.com.git“.
SERVIDOR:
Vamos al servidor que tenemos que configurar un par de cosas mas.
Entramos en la carpeta que copiamos hace un instante y aplicamos un poco de configuración:
1 2 |
cd /home/capy/git/ecapy.com git config core.sharedrepository 1 && git config receive.denyNonFastforwards true && find objects -type d -exec chmod 02770 {} ; |
Volvamos al cliente:
Ya tenes un repositorio remoto que funciona correctamente. ya podes clonarte de el.
NOTA 1: la carpeta que usaste en el cliente para crear el repositorio en el servidor no tiene configurado cual es su origin, por lo que deberías lanzar por consola:
1 |
git remote add origin capy@192.168.1.38:/home/capy/git/ecapy.com.git |
O simplemente borra esa carpeta y clonate una nueva que ya tiene configurado el origin:
1 |
git clone capy@192.168.1.38:/home/capy/git/ecapy.com.git |
NOTA 2: Muchísimo cuidado con lo siguiente: después de seguir estas instrucciones vas a ver que estas trabajando en la rama principal de tu repositorio… crea urgente una rama y cámbiate a ella.
Its really great that people are sharnig this information.
HOla, buen artículo,
Una pregunta, cómo instalar un servidor de Git en Windows?
la verdad yo tengo la misma duda, lo que pasa es que e investigado mucho y casi todo lo que me arroja es cuando git es montado en un servidor linux , pero yo lo necesito en un servidor window y no encuentro nada 🙁 alguien que me ayude o me de alguna referencia
Hola muy bueno, pero me quedo una duda…
quien es “capy@” que colocas en la dirección de destino del commit. Sospecho que seria el usuario del sistema operativo, pero pregunto para tener certeza.
Saludos