Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Git: hacer un merge a master sobrescribiendo archivos si es necesario

Imago voragine.net
• Por
Una manera rápida de hacer un merge a la rama master de un repositorio git resolviendo los conflictos automáticamente. Con el siguiente método lo único que hay que decidir es si prevalece la rama que se fusiona o la rama master. Para ello usamos el parámetro -X con el valor ours si se debe dar prioridad a la rama master o theirs si se debe dar prioridad a la rama que se fusiona en master.

Gitlab en Apache2 con conexión segura sobre HTTPS usando reverse_proxy

Imago voragine.net
[actualizado el ] • Por

Explico en esta entrada cómo instalar Gitlab usando el paquete Omnibus, que es la manera más fácil de poner en marcha una instancia y mantenerla actualizada. Luego explico cómo configurar la conexión segura HTTPS usando un certificado Let's Encrypt. En mi caso la instalación se hace en un servidor Debian en el que hay más servicios funcionando bajo un servidor web Apache2. Así que configuro un proxy inverso para la conexión segura ya que el puerto 443 está siendo usando por Apache2.

Si no se está familiarizado con la generación de certificados TLS de Let's Encrypt usando certbot, es aconsejable leer antes este otro artículo.

Podcast On Collaboration. Git y Github como ecosistema de colaboración

Imago voragine.net
• Por

On Collaboration Podcast

En junio pasado tuve la oportunidad de participar en el primer programa del podcast On Collaboration, que explora los recovecos de los colaborativo. Del sitio web de On Collaboration:

5 enfoques distintos dan forma a los 5 PROGRAMAS del proyecto. Cada programa viene estructurado mediante una serie de secciones o PÍLDORAS transversales a todos ellos, de manera que el oyente se convierte en el último engranaje y editor de contenido resultado de este proceso colaborativo que es en sí mismo On Collaboration. Tú escoges qué y cómo organizas el contenido.

El primer programa, titulado Historias de la colaboración, está comisariado por Zuloark y Juanito Jones, se puede escuchar en web de On Collaboration.

Dentro de la sección de Herramientas para la colaboración del programa, estuve charlando con Manuel Pascual de Zuloark, sobre el potencial de git y github como ecosistemas de colaboración.

Usando submodules en git

Imago voragine.net
• Por

Los submodules de git permiten incluir un repositorio en otro en cualquier ubicación. Incluir por ejemplo una librería de javascript en un proyecto web como un módulo permite funcionar con su última versión fácilmente, sin necesidad de preocuparse por sustituir versiones manualmente: basta actualizar el repositorio.

Yo he usado los módulos de git por primera vez para hacer una web con Hugo. En el repositorio del sitio web he incluido el theme Learn de Hugo como módulo.

La infraestructura para la colaboración de Civicwise

Imago voragine.net
• Por

How we work at Civicwise

Formo parte de la red internacional Civicwise, una estructura distribuida en decenas de países. Desde Civicwise desarrollamos proyectos siguiendo unos determinados modos de hacer y metodologías de colaboración para intervenir en el territorio. Varias personas me han preguntado cómo hacemos en Civicwise para organizarnos, comunicarnos y producir de manera colaborativa entre personas que estamos en zonas horarias diferentes, con ritmos vitales diferentes, con niveles de implicación diferentes. Al final del post hay una lista de herramientas pero antes quiero escribir algunas ideas que nos permiten funcionar de la manera que lo hacemos, más allá de las herramientas concretas que usamos.

Cómo configurar el autocompletado para git en su versión línea de comandos, en Linux claro

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Personalmente uso git desde la línea de comandos. Me resulta lo más rápido: me basta dejar vim en segundo plano y commitear; también lo más ligero ya que no tengo que tener otro programa GUI abierto para git.

Para que el uso de git en línea de comandos sea aún más ágil es fundamental activar el autocompletado de comandos de git.

Para ello basta bajarse el script de bash que añade esta función al paquete básico de git, alojarlo en nuestro directorio personal o donde se quiera, y añadir la siguiente línea al archivo .bashrc ubicado en nuestra carpeta personal:

source ~/.git-completion.bash

La línea anterior añade el script de autocompletado a la configuración de bash del usuario. La ruta hasta el archivo descargado tiene que ser correcta. En el ejemplo anterior hemos guardado el script como oculto en la carpeta personal del usuario.

Qué significa que el código de GitHub no esté en GitHub

Imago voragine.net
[actualizado el ] • Por
Hace unos días Jorge escribía en el blog de Ecosistema Urbano sobre las capacidades de GitHub como plataforma de colaboración que trasciende los proyectos de desarrollo de software. Como explica Jorge en el post, git es un sistema de control de versiones que fue inicialmente diseñado para el desarrollo colaborativo de software. Su potencial radica precisamente en que es distribuido, al contrario que otros sistemas de este tipo. Cuando se usa git para un desarrollo cada programador tiene en su máquina una copia completa de todo el código, que comparte con el resto mediante una serie de órdenes. Como cualquier sistema distribuido, en los desarrollos que usan git ninguno de los nodos implicados es imprescindible, no hay centro y periferia.

Nuevas plataformas para blogs, recuperando la esencia del blogging

Imago voragine.net
[actualizado el ] • Por
La tendencia actual de las plataformas de blogging es la simplicidad, tanto funcional como estética: gestores de contenidos con las capacidades imprescindibles para escribir y gestionar posts; interfaces de usuario limpias y mínimas que priorizan la experiencia de lectura por encima de todo. Una especie de vuelta a los orígenes, en la que se recupera la idea de que lo importante de tener un blog es escribir. Así están proliferando las plataformas de blogging sencillas y limitadas, que tienden hacia lo mínimo.

Herramientas para la distancia: programando de manera colaborativa con Git y GitHub

Imago voragine.net
• Por
En montera34, nuestro estudio de desarrollo web, tenemos una situación cada vez más deslocalizada, en el espacio pero también en el tiempo. Ahora mismo @numeroteca está en Boston, @juan_ y Rubén en Madrid, y yo en Escampis. Esto hace que nuestros espacios de encuentro digital se estén sofisticando, ya que no solo no coincidimos en el espacio, sino que las horas en las que coincidimos son menos por la diferencia horaria entre América y Europa. Hace poco que hemos decidido probar Git como sistema de control de versiones, y GitHub como forja. Hemos optado por Git porque no en vano es el sistema de control de versiones que usan los desarrolladores del kernel de Linux, y que fue diseñado inicialmente por el mismísimo Linus Tovards.