https://d226lax1qjow5r.cloudfront.net/blog/blogposts/hacktoberfest-using-github-desktop/Blog_GitHub-Desktop_1200x600.png

Hacktoberfest: Uso de GitHub Desktop

Publicado el May 10, 2021

Tiempo de lectura: 5 minutos

Debió de ser toda una revelación cuando se crearon los primeros directorios de proyectos de código abierto que ofrecían herramientas de uso gratuito y buscaban contribuciones. Ahora es tal institución en el mundo de la tecnología que apenas nos detenemos a explicar qué es GitHub. Eso puede ser un problema si este es tu primer Hacktoberfest porque eres nuevo en el código abierto o en la codificación en general.

GitHub es un host de código controlado por versiones mediante Git. Facilita que los desarrolladores compartan código y trabajen juntos en proyectos proporcionando un repositorio de acceso público. Hay muchos otros hosts para repositorios Git y para los que utilizan otros sistemas de control de versiones, pero GitHub se distinguió desde el principio por hacer hincapié en la facilidad de uso. Poco después de que apareciera el sitio web de GitHub, lanzaron la aplicación GitHub Desktop, una interfaz gráfica para las acciones de Git tradicionalmente disponibles a través de la línea de comandos.

Si aún no tienes muchos conocimientos de Git, puede que te resulte más fácil contribuir durante el Hacktoberfest utilizando GitHub Desktop. Te familiarizarás con los conceptos en el proceso de usarlo en un proyecto real, ¡y puede que decidas convertirte en superusuario de Git más adelante!

Clonar un repositorio

Probablemente contribuyas a proyectos existentes descargando primero una copia del repositorio del proyecto: "clonando el repositorio". Sin embargo, no debe pensar en esto como si descargara un episodio de un programa de televisión.

Git es un sistema de control de versiones distribuido. Eso significa que, aunque hayas ido a GitHub para encontrar el proyecto y clonarlo, "vive" en todos los sitios en los que ha sido clonado. Todas las copias se mantienen sincronizadas notificando a GitHub sus propios cambios y solicitando actualizaciones a GitHub. Hay herramientas complejas en Git para fusionar estos cambios juntos para que pueda actualizar su copia local y trabajar en lo que todos los demás están viendo. Para un principiante, sin embargo, la mejor herramienta a utilizar es hacer commits pequeños y frecuentes.

Con GitHub Desktop, un buen atajo para clonar un repositorio es utilizar el enlace en GitHub.com. Si tienes los permisos correctos, podrás abrir un menú "Código" encima de un proyecto en el sitio y seleccionar la opción "Abrir con GitHub Desktop", que te llevará a la aplicación con el menú para clonar un repositorio abierto y lleno.

Cloning a repo from the GitHub siteCloning a repo from the GitHub site

Dentro de la propia aplicación, encontrarás un desplegable de repositorios en la esquina superior izquierda. Si lo despliegas, verás un botón "Añadir". Al hacer clic en él, también tendrás la opción de clonar repositorios de GitHub.

Creación de una horquilla

Un fork de un repositorio es otro tipo de copia del repositorio. Está controlada por usted, en lugar de por la organización matriz del repositorio de origen. Puede querer un fork para construir sobre un proyecto o llevarlo en una dirección diferente, o simplemente porque está fuera de la organización que normalmente trabaja en él.

Puedes hacer un fork de un repositorio desde el sitio web de GitHub. El botón está cerca de la parte superior derecha cuando estás viendo un repositorio. Una vez que lo has bifurcado, tienes una copia bajo tu nombre de usuario que puedes abrir en GitHub Desktop como cualquier otro repositorio sobre el que tengas derechos, usando el menú desplegable de repositorios.

Crear una sucursal

En la parte superior de la aplicación de GitHub, verás en qué rama estás trabajando actualmente. Cuando abres un repositorio por primera vez, probablemente estarás en la rama principal del proyecto. Si quieres ver una determinada característica en la que aún se está trabajando, a menudo tendrás que cambiar a una rama especial que contenga ese trabajo. Puedes hacerte una idea de qué ramas son para qué mirando los pull requests del proyecto. Un pull request es una rama de una rama existente que pide ser fusionada de nuevo en la rama de la que proviene.

Para crear una nueva rama para su trabajo, primero averigüe qué rama es la más apropiada como punto de partida. Puedes cambiar de rama utilizando el desplegable situado junto a la rama actual en la parte superior de la ventana de la aplicación. En el menú superior "Repositorio", elige "Pull" para obtener el último código de esa rama. Lo ideal sería que hicieras esto antes de añadir tu propio código, o podrías tener conflictos de fusión.

Una vez que estés al día, crea una nueva sucursal yendo de nuevo al desplegable de sucursales y pulsando el botón "Nueva sucursal". Aparecerá una ventana en la que podrás introducir un nombre para tu nueva rama. Intenta seguir las convenciones de nomenclatura de ramas del proyecto pero, en caso de duda, dale un nombre que resuma el cambio principal que harás en ella, como por ejemplo fix-password-resetting.

Compromete

Dentro de tu repositorio y rama en GitHub Desktop, tendrás dos pestañas: "Cambios" e "Historial". Cambios te mostrará todos los archivos que difieren entre tu repositorio local y la confirmación más reciente. Si ves demasiados cambios irrelevantes -o cambios en archivos que no quieres publicar accidentalmente- puedes añadir un archivo .gitignore listando todos los archivos y rutas que no quieres que Git rastree. Un proyecto existente probablemente ya tiene uno.

Siempre que sea posible, es útil hacer commits que hagan una sola cosa, por ejemplo Add contact button event handler. Las pruebas pueden ayudar a confirmar esto, ya que las pruebas no pasarán en cada confirmación si la mitad del trabajo está en una confirmación y la otra mitad en otra. Una vez que hayas guardado y probado los cambios, selecciona todos los archivos relevantes de la lista de la izquierda de la pantalla, añade un mensaje de confirmación y haz clic en el botón "Confirmar en...".

Making a commit in GitHub Desktop

Solicitudes de extracción

En un proyecto con más de un colaborador, nunca es mala idea hacer cambios mediante pull request. Es posible hacer cambios, confirmarlos y enviarlos directamente, pero aparte de las correcciones de emergencia, este patrón es menos popular. En proyectos muy grandes, a menudo se prohíbe por completo.

Una vez que tengas una serie de commits que sumen tu cambio guardado en una rama dedicada, puedes publicar la rama y hacer un pull request. Esto es muy sencillo en GitHub Desktop. En el menú superior "Rama", encontrarás la opción "Crear Pull Request". Esto realizará el proceso por ti, incluyendo la publicación de tu rama si es nueva.

Hacer tu primer pull request es un gran paso. Puedes consultar nuestro post sobre todo el proceso PR para más detalles.

Acciones Git avanzadas

GitHub Desktop no es una herramienta particularmente sofisticada, pero puede ayudar con situaciones más complejas que las que hemos cubierto aquí. Sin embargo, probablemente sea mejor no buscar crear conflictos de fusión sólo para aprender a resolverlos.

Con lo básico ya puedes empezar. Cuando necesites hacer algo más complejo, curiosea por el resto de la interfaz de usuario y encontrarás otro nivel de tareas más avanzadas que la aplicación puede realizar.

¿Y ahora qué?

Vonage es socio de Hacktoberfest para 2020, y nos encantaría que te sintieras cómodo con GitHub Desktop contribuyendo a nuestros repositorios. Estaremos encantados de orientarte en el Slack de la comunidad de Vonage para ayudarte a dar el siguiente paso. Para sumergirte por completo en las festividades, asegúrate de visitar nuestra página Hacktoberfest para obtener más detalles sobre todo lo que hemos planeado.

Compartir:

https://a.storyblok.com/f/270183/250x250/f231d97f1b/garann-means.png
Garann MeansDesarrollador Educador

Soy desarrollador de JavaScript y educador de desarrolladores en Vonage. A lo largo de los años me han entusiasmado las plantillas, Node.js, las aplicaciones web progresivas y las estrategias offline-first, pero lo que siempre me ha encantado es una API útil y bien documentada. Mi objetivo es hacer que tu experiencia usando nuestras APIs sea la mejor posible.