💾 Archived View for psicobyte.com › blog › sincronizando_git_sobre_ssh.gmi captured on 2024-08-18 at 18:26:36. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-06-14)

-=-=-=-=-=-=-

Sincronizando git sobre ssh

2014-10-05

Es decir: Cómo trabajar en varios ordenadores con git, sin usar Github[1] ni ningún servicio similar, usando en su lugar un servidor local y una conexión ssh.

Para este ejemplo, supondré que queremos usar un ordenador de escritorio y un portátil, pero es fácilmente extensible a cualquier número de ordenadores.

Primero vamos a crear un "repositorio central" en nuestro ordenador de escritorio. Para ello usamos la opción "--bare", que sirve para crear un repositorio sin directorio de trabajo ni archivos:


En un repositorio creado con la opción "--bare" no se puede trabajar, por lo que vamos a clonarlo en un proyecto con el que trabajar:


Esto nos crea un directorio llamado "proyecto" con un clon del repositorio central (aún vacío). Aquí ya podemos trabajar normalmente, comitear y pushear como harías con cualquier otro. Por ejemplo:

psicobyte@escritorio:~$ cd proyecto
psicobyte@escritorio:~$ touch holamundo
psicobyte@escritorio:~$ git add holamundo
psicobyte@escritorio:~$ git commit -m "añadido archivo vacío de poca utilidad"

Como me avisa fernand0[2] en un twitter[3], al estar nuestro "repositorio central" vacío, la primera vez que hacemos push debemos hacerlo de este modo:


Esto es sólo para la primera vez, y hace que se "emparejen" las ramas master de los repositorios. En adelante se puede hacer push normalmente sin problemas.

Hasta ahora hemos trabajado en un sólo ordenador, pero queremos poder hacerlo también desde un portátil. Nada más fácil.

Para ello necesitamos tener acceso ssh al ordenador de escritorio desde el portátil, y sería una estupenda idea que el ordenador de escritorio tuviese una IP fija. si tenemos eso, sólo hay que clonarlo usando la dirección y la ruta del servidor por ssh de este modo:

En nuestro caso:


Y ya podemos trabajar tranquilamente.

Naturalmente, usando servicios como no-ip[4] o similares, podemos usar el servidor más allá de nuestra red local.

Links

[1] Github

[2] fernand0

[3] un twitter

[4] no-ip

Meta

Publicación orginal.

Índice de posts