Introducción a las herramientas móviles y de escritorio de GitHub

Microsoft ha adoptado un enfoque de no intervención con GitHub desde su adquisición el año pasado. Es un enfoque que tiene mucho sentido; La relación pasada de Microsoft con la comunidad de código abierto no ha sido la mejor, y todavía no hay mucha confianza allí, a pesar de los importantes movimientos hacia el diseño abierto y los modelos de desarrollo abiertos de Redmond.

Sin embargo, eso no ha dejado a GitHub estancado y a la deriva. En cambio, bajo un nuevo liderazgo y con más claridad sobre su futuro, GitHub ha acelerado el desarrollo y la implementación de sus productos, agregando características a sus servicios web y a su plataforma. Las propias herramientas de GitHub centradas en el desarrollador han recibido mucha más atención el año pasado, con actualizaciones periódicas de GitHub Desktop y el lanzamiento de sus primeras aplicaciones móviles nativas para iOS y Android.

Socializa con tu código

GitHub es mucho más que compartir su código con su equipo o con el mundo. Sus repositorios se basan en el protocolo de control de código fuente Git de código abierto subyacente, utilizándolo como base para un modelo de codificación social que tiene como objetivo cambiar la forma en que los desarrolladores trabajan, en público y en privado. Es un modelo de desarrollo interesante. Con el cambio a equipos distribuidos y remotos, es cada vez más importante encontrar nuevas formas de agregar colaboración.

No está limitado a usar las propias herramientas de GitHub, ya que cualquier cliente de Git funcionará con el servicio. Una opción es la popular implementación de Git para Windows que Microsoft integra en su editor de programadores de Visual Studio Code. Con enlaces profundos en el Explorador de Windows y su propia línea de comando similar a bash, es una ruta fácil para usar Git y GitHub, tratando los repositorios locales y remotos exactamente de la misma manera.

Entonces, ¿por qué usar las propias herramientas de GitHub? Su modelo de codificación social ha agregado más al flujo de trabajo de Git que solo realizar confirmaciones y administrar fusiones, con herramientas para analizar código y generar conversaciones en torno a las acciones de su equipo. Con sus herramientas, no tiene que perder tiempo en una aplicación web, alejarse de su flujo de trabajo y cadena de herramientas, perder contexto cada vez que desee comentar un cambio o evaluar una solicitud de extracción. Al presentar estas características en sus aplicaciones de escritorio y móviles, GitHub facilita el trabajo social sin interferir con el trabajo real y la escritura de código.

Presentación de GitHub Desktop

GitHub Desktop es la forma preferida de GitHub para integrar su cadena de herramientas de escritorio con el servicio. Disponible tanto para Windows como para Mac, es una forma de visualizar y administrar repositorios y ramas, vinculando su sistema de archivos local con su cuenta de GitHub. Los repositorios se clonan localmente y los cambios se confirman en su rama actual. Una vez que esté satisfecho con ellos, es fácil volver a enviarlos a GitHub en una sola acción de sincronización.

Es una herramienta relativamente simple, capaz de tomar una URL de GitHub y clonar el repositorio localmente o crear un nuevo repositorio basado en un árbol de directorios en su sistema de archivos local. De esa manera, puede usar una herramienta como Draft para crear el andamio para una aplicación antes de configurar un repositorio.

Necesita una cuenta de GitHub para usar cualquiera de las herramientas de GitHub, ya sea en GitHub mismo o en una instancia de GitHub Enterprise. Si está utilizando un cliente Git existente, como Git para Windows, puede usarlo con GitHub Desktop, uniendo las dos herramientas. Puede elegir un editor externo y un shell, con opciones para la línea de comandos de Windows, PowerShell o el indicador de bash de Git. Todavía no hay soporte para la nueva Terminal de Windows ni para el Subsistema de Windows para Linux.

Trabajar con GitHub Desktop

Una vez instalado y configurado, GitHub Desktop te ofrece la opción de trabajar con repositorios locales o clonar repositorios Git externos. Aunque GitHub Desktop utiliza de forma predeterminada la carpeta de documentos de Windows para sus repositorios locales, puede elegir una ruta raíz alternativa para sus archivos, una que se adapte a su flujo de trabajo personal. La creación de un nuevo repositorio local agrega una nueva carpeta raíz del repositorio a su ruta local y realiza una confirmación inicial con un archivo Léame con formato de marcado. Luego, puede agregar el repositorio local a su cuenta de GitHub y enviar sus archivos y cambios a un repositorio de GitHub.

Gran parte de lo que hace GitHub Desktop se puede hacer desde la línea de comandos con un cliente Git estándar. Lo importante de GitHub Desktop es cómo le muestra qué ha cambiado en el código compartido, ver el historial asociado con un repositorio y vistas rápidas de cualquier diferencia.

Una opción es usar GitHub Desktop como el centro de sus actividades de desarrollo, administrar ramas de código y lanzar el editor de código elegido cuando sea necesario. Los mensajes de confirmación se agregan a cualquier cambio y puede elegir qué rama para los cambios de su código. Una vez que esté satisfecho con sus cambios, GitHub Desktop puede convertirlos en solicitudes de extracción, listas para la revisión del código. No es necesario ir a su navegador para administrar las solicitudes de extracción que se realizan a sus proyectos. Dentro de GitHub Desktop, abra una sucursal para ver la lista actual, que se puede consultar como sucursales locales para su revisión y prueba, antes de aceptar y fusionar los cambios en la sucursal relevante.

La codificación social consiste en trabajar con otros desarrolladores, aprovechando las prácticas modernas de desarrollo ágil. Una desventaja de las herramientas tradicionales de Git es que vinculan los compromisos a un solo usuario, ocultando los esfuerzos de colaboración. Con GitHub Desktop puedes agregar a otros miembros del equipo a un compromiso, asegurando que las contribuciones sean reconocidas. De esa manera, se puede realizar un seguimiento de las sesiones de programación en pareja y de depuración por encima del hombro, lo que le permite capturar detalles de quién tiene experiencia en una sección específica de un proyecto o quién puede ser llamado para ayudar con problemas similares en otras aplicaciones.

Llevando GitHub a donde sea que estés

Desktop no es el único cliente oficial de GitHub. La compañía lanzó recientemente versiones beta de clientes iOS y Android. Al igual que la herramienta de escritorio, están diseñadas para ayudarlo a administrar sus repositorios. En lugar de actuar como un centro para su código, es mejor pensar en los clientes móviles como herramientas para clasificar el trabajo enviado por colaboradores o marcado por otras herramientas en su canal de CI / CD (integración continua / desarrollo continuo).

Los dispositivos móviles no sirven para editar código, pero son espectadores lo suficientemente decentes, por lo que puede escanear el código mientras viaja o toma un café antes de aceptar cambios o decidir qué se debe hacer con respecto a un problema. Puede agregar respuestas rápidas a las solicitudes de extracción y, si utiliza pruebas automatizadas para aprobar el código, puede ver rápidamente el estado de sus acciones antes de realizar una combinación. Tratar GitHub como una bandeja de entrada de correo electrónico funciona sorprendentemente bien, pasando de una tarea a otra, marcando como hecho o guardando para más tarde.

Aunque no esté editando código en GitHub Mobile, aún así recomendaría usarlo con un dispositivo de pantalla relativamente grande, posiblemente incluso una tableta. No es menos capaz en una pantalla más pequeña, simplemente es más difícil leer el código y ver los cambios en el contexto de un módulo grande.

La codificación social es más que código abierto y desarrollo público. Es una herramienta eficaz para sus propios repositorios privados o para los servicios empresariales de GitHub. Herramientas como estas lo mantienen alejado del navegador, con un centro para vincular sus repositorios, sus clones locales y las diversas ramas utilizadas para su proceso de desarrollo con sus editores de código, herramientas de prueba y todas las demás partes de su cadena de herramientas. El enfoque es compatible con las prácticas de desarrollo modernas, apoyando a las personas y los equipos junto con sus flujos de trabajo.