Cómo configurar una solución de sincronización de nubes multiplataforma para trabajar en cualquier lugar usando Git en iOS.

Escribí sobre una forma (hackish) de usar una carpeta Dropbox en una máquina de dual-boot de Windows y Linux. Desde entonces ha cobrado sentido utilizar Linux con Ubuntu 18.04 LTS, pero la configuración del Dropbox parece haber dejado de ser una opción en cualquier caso. Por fortuna, desde entonces he encontrado una forma mucho mejor (mucho menos hacker) de sincronizar remotamente archivos en diferentes sistemas de archivos. Reflejando mi configuración actual, estoy hablando de iOS (iPad y iPhone) y mi máquina Linux.

El nuevo sistema de sincronización se basa en Git. Es muy personalizable y convenientemente extensible. Más allá de los archivos de texto, puedes sincronizar cualquier otro cosa que Git pueda (que es casi todo - si quieres editar tus archivos .gitignore sobre la marcha no estoy seguro de poder ayudar). Si ya estás familiarizado con Git, la configuración será fácil. Si Git es nuevo para ti, creo que estas herramientas ayudan a que los conceptos de clonación, arrastre (pulling) y empuje (pushing) de Git sean más sencillos de entender.

Componentes

Prepárate

Estos son los pasos a seguir que te explicaré en este artículo.

  1. Crear su repositorio remoto
  2. Clonar el repositorio al iPad con Working Copy
  3. Abrir y editar archivos con iA Writer
  4. Empujar los cambios de nuevo a remoto
  5. Obtener los cambios del repositorio en tu computadora

Este sistema es sencillo de configurar, tanto si eres un genio de la línea de comandos como si sólo estás iniciando en Git. ¡Manos a la obra!

Crear tu repositorio remoto

GitHub ofrece ahora repositorios privados gratuitos para hasta tres colaboradores. Elige " Private" en la página de creación de repositorios de GitHub:

ItFaqv-hTrHTAZBHmsGEffVasUsDH-RqlyqU

Crea el repositorio. Si quieres, puedes seguir las instrucciones de GitHub para empujar algunos archivos desde tu computadora, o puedes agregar archivos más tarde desde tu iPad.

Clonar el repositorio al iPad con Working Copy

Descarga Working Copy del App Store. Es una de las aplicaciones más caras que he comprado, pero creo que vale la pena. El desarrollador Anders Borum tiene un historial constante de actualizaciones frecuentes e incorporando las últimas funcionalidades para las aplicaciones de iOS, como arrastrar y soltar en el iPad. Creo que ha puesto un precio justo a su producto a la luz del trabajo que realiza para mantenerlo y mejorarlo.

En Working Copy, busca el icono del engrane en la esquina superior izquierda y pulsa para abrir Settings.

VuBXLHI2Tjs-mize4R-94tGwyJrdH4r43ajD

Pulsa sobre SSH Keys, y verá esta pantalla:

knqrfxBovulHFSbzBkwDamluhb4fBoacjSTT

Las llaves SSH, o llaves Secure Shell, son credenciales de acceso utilizadas en el protocolo SSH. La llave es una contraseña que el dispositivo utilizará para conectarse de forma segura con el host del repositorio remoto, GitHub, en nuestro ejemplo. Dado que cualquiera que tenga tus claves SSH puede fingir ser tú y acceder a tus archivos, es importante que no las compartas accidentalmente, como en una captura de pantalla de una entrada de blog.

Pulsa en la segunda línea en la que aparece "WorkingCopy@iPad-xxxxxxxx" para obtener esta pantalla:

qeX3GRpPhnr8oA3Em51b1nC6nd8t0897wyOy

Working Copy soporta una conexión sencilla tanto a BitBucket como a GitHub. Pulsa "Connect With GitHub" o BitBucket para que aparezcan algunas pantallas de inicio de sesión habituales que autorizarán a Working Copy a acceder a tu(s) cuenta(s).

Una vez conectado, pulsa el símbolo "+" en la parte superior derecha de la barra lateral para añadir un nuevo repositorio. Elige "Clone repository" para que aparezca esta pantalla:

sf4D5NkNmRpjHzdccE3Vlgnzmg-ykFU5ToAO

Aquí, puedes introducir manualmente el URL remota, o simplemente elige de la lista de repositorios que Working Copy obtiene de tu cuenta conectada. Cuando haces tu elección, la aplicación clona el repositorio en tu iPad y aparecerá en la barra lateral. You're connected!

Abrir y editar archivos con iA Writer

Una de las (muchas) razones por las que adoro a iA Writer es su capacidad de seleccionar tu repositorio remoto recién clonado como ubicación de la biblioteca. Para hacer esto en la aplicación iA Writer:

  1. En la lista principal de la Librería, en la parte superior derecha de la barra lateral, pulsa "Edit".
  2. pulsa "Add Location..."
  3. Aparece un popup útil. Pulsa OK.
  4. En la ubicación de Working Copy, pulsa "Select" en la parte superior derecha, y luego elige la carpeta del repositorio.
  5. Pulsa" Open", luego "Done".

Tu repositorio remoto ahora aparece como una ubicación en la barra lateral. Pulsa sobre él para trabajar dentro de este directorio.

Mientras estés dentro de esta ubicación, los nuevos archivos que crees (tocando el icono del lápiz y el papel en la esquina superior derecha) se guardarán en esta carpeta de forma local. A medida que trabajas, iA Writer guarda automáticamente tu progreso. A continuación, veremos cómo empujar esos archivos y los cambios de vuelta a tu control remoto.

Empujar los cambios de vuelta a remoto

Una vez que hayas hecho cambios en tus archivos, abre de nuevo Working Copy. Deberías ver un punto amarillo en tu repositorio modificado.

cbUDJ3vGR0tbBfJVggpkEhKhXHJxzOVwmTrc

Pulsa en el nombre de tu repositorio, y luego en "Repository Status and Configuration" en la parte superior de la barra lateral. Tus archivos modificados se mostrarán con puntos amarillos o símbolos verdes "+". Estos significan que has modificado o añadido archivos, respectivamente.

Working Copy es un agradable cliente iOS Git, y puedes pulsar en tus archivos para ver información adicional, incluyendo una comparación de los cambios ("diff"), así como el estado y el historial de Git. Incluso puedes editar archivos directamente dentro de la aplicación, con resaltado de sintaxis para los muchos lenguajes compatibles. Por ahora, veremos cómo enviar tu trabajo modificado a tu repositorio remoto.

8Tpm89mGfCKzwYNQV6u6GOYqEyvcF2DrCDs-

En la página de "Repository Status and Configuration", verás justo en la parte superior que hay cambios que debes hacer 'commit'. Si eres nuevo en Git, esto es como "guardar tus cambios" en tu historial de Git, algo que normalmente se hace en el comando de terminal git commit. Puedes pensar que esto es como guardar los archivos que queramos enviar al repositorio de GitHub. Pulsa "Commit changes".

HxVYK8VHBhl2bVQdnlt9sKmwYLBHKDwHDECl

Introduce tu mensaje de confirmación y selecciona los archivos que quieras añadir. Activa el interruptor "Push" para enviar todo a tu almacén. Luego pulsa "Commit".

Verás una barra de progreso a medida que se suben los archivos y luego un mensaje de confirmación en la pantalla de estado.

CuKi9hmxEnUMgcSh3Qc2ZlcjlHCNXSLkd9cW

¡Felicidades! Tus cambios están ahora disponibles en tu repositorio remoto en GitHub. ¡Has sincronizado con éxito tus archivos de forma remota!

Actualizar los cambios del repositorio remoto en tu computadora.

Para completar el círculo de archivos actualizados en tu computadora, los tomas del repositorio remoto de GitHub. Yo prefiero usar la terminal para esto ya que es rápido y fácil, pero GitHub también ofrece un cliente gráfico si los comandos de la terminal te parecen un poco complicados por ahora.

Mantener la sincronía

Cuando actualices tu trabajo en tu computadora, usarás Git para enviar tus cambios al repositorio remoto. Para ello, puedes usar el cliente gráfico de GitHub.

Con un simple clic es tan fácil jalar y empujar en tu dispositivo iOS con Working Copy. En la página estado y configuración del repositorio, pulsa en el nombre remoto dentro de "Remotes".

u5dr0LkZTsYBvy2v4mk3me4RvEzdmtU9VUwA

Luego pulsa "Synchronize". Working Copy se encargará de los detalles de empujar tus cambios cometidos y/o sacar cualquier nuevo cambio que encuentre del repositorio remoto.

No está mal, ¿verdad?

Para un desarrollador de Git y un adicto al trabajo en cualquier lugar como yo, este sistema no podría ser más conveniente. Working Copy realmente hace que estar en sincronía con mis repositorios remotos sea perfecto, y aún más conveniente es tener la capacidad de trabajar con cualquiera de mis repositorios GitHub en marcha.

Para editar en marcha, aquí hay un consejo útil. Usa .gitignore en tu repositorio de sincronización si no necesitas mover archivos grandes, como imágenes, contigo. Esto evitará que los archivos ignorados sean empujados a GitHub y llevados a tu dispositivo iOS - sólo permanecerán en el disco duro más grande de tu computadora. El archivo .gitignore de uno de mis repositorios de sincronización se ve así:

*.png
*.jpeg
*.jpg
*.mp4
*.gif

Esto significa que todos los archivos multimedia se quedan en mi computadora, y puedo llevar el contenido de los archivos de texto a mi iPad desde GitHub para trabajar mientras estoy fuera.

Recientemente usé este sistema para escribir algo mientras estaba en el atrio de la Galería Nacional de Retratos de Washington DC, que es agradablemente fotogénica.

Ee1wX2GpB5ipu8cYJdMcrdyi2y2yWZltgeKR

Me encantaría saber cómo funciona este sistema para ti y cómo lo usas. Mientras tanto, ¡feliz trabajo!

Traducido del artículo de Victoria Drake - A remote sync solution for iOS and Linux: Git and Working Copy