Implementar el control de versiones sería una tarea sencilla si sólo trabajaras como desarrollador en solitario con un repositorio local. Sin embargo, este no es el caso de muchos proyectos profesionales. En su lugar, un equipo agrupará recursos en un repositorio remoto utilizando un alojamiento como GitHub. Por ello, es importante aprender a enviar a GitHub porque es algo que tendrás que hacer como parte de tu flujo de trabajo.
Este post te enseñará cómo enviar a GitHub utilizando la línea de comandos. Además, veremos aplicaciones dedicadas para facilitar el proceso. Al final del artículo, hablaremos de por qué deberías aprender a hacer solicitudes de extracción (pull requests) y cómo se relacionan con el envío de código. Primero, veamos cómo usar GitHub para tus proyectos.
Cómo Utilizará GitHub un Desarrollador o Programador
GitHub es una herramienta esencial para desarrolladores y programadores de todo el mundo por varias razones. Te permite almacenar tu código en una ubicación centralizada, lo que facilita el acceso y ofrece una mayor colaboración con otros desarrolladores.
También puedes hacer un seguimiento de los cambios realizados en tu código y volver a versiones anteriores si es necesario. Además, GitHub proporciona herramientas para ayudar a gestionar problemas y errores, y esto hace que sea más sencillo mantener tu código base.
La colaboración es una de las razones clave por las que puedes utilizar GitHub como tu sistema de control de versiones (VCS) remoto preferido. Te permite compartir código, realizar un seguimiento de los cambios y colaborar en los problemas sin mucho esfuerzo. Esto puede ayudar a la eficiencia y también puede conducir a una mejor calidad del código.
GitHub también te ofrece una forma sencilla de gestionar varias versiones de una base de código, realizar un seguimiento de los cambios y revertirlos si es necesario. Los grandes proyectos y los esfuerzos de colaboración de código abierto serán sólo dos formas en las que GitHub demostrará su valor.
Incluso los casos de uso sencillos pueden ser ideales. Por ejemplo, podrías almacenar código para tu proyecto de desarrollo web y enviar actualizaciones remotas cuando hagas cambios. Además, los proyectos de integración continua/despliegue continuo (CI/CD) se beneficiarán de la automatización en forma de Acciones de GitHub durante las fases de construcción.
En general, GitHub — y otros alojamientos VCS remotos como GitLab — proporciona una plataforma para la colaboración, el control de versiones y otros flujos de trabajo de desarrollo. Puede ayudar a agilizar el proceso de desarrollo y mejorar la calidad del código. Por eso, deberías aprender a enviar a GitHub, ya que este conocimiento te beneficiará casi todos los días.
Cómo Enviar a GitHub desde el Terminal (Línea de Comandos)
El resto de este artículo te mostrará cómo enviar a GitHub. Es un proceso sencillo de entender y ejecutar.
Sin embargo, debes asegurarte de configurar tu proyecto de antemano, de lo contrario, te encontrarás con errores. En la primera sección, veremos qué herramientas y conocimientos se necesitan y, a continuación, analizaremos en detalle el proceso en sí.
Qué Necesitas para Publicar en GitHub
Es importante que te asegures de configurar tu proyecto para que soporte el uso de un repositorio remoto y la integración del envío en tu flujo de trabajo. Para ello, en primer lugar, necesitas un repositorio Git, un «repositorio» en el que almacenar tu código. Considéralo una carpeta que contiene los archivos asociados a tu proyecto.
Todo el proceso de control de versiones comienza en un entorno local en tu ordenador. Más adelante te indicaremos los pasos exactos para hacerlo, pero es posible que ya tengas estos conocimientos (o sepas dónde acceder a ellos)
También necesitas una cuenta de GitHub. De hecho, también podrías utilizar otro host VCS online, como GitLab, BitBucket, Buddy, etc. Las instrucciones que te damos aquí se pueden aplicar, en su mayor parte, a otras plataformas. Sin embargo, comparar estos alojamientos está fuera del alcance del artículo.
Para enviar tu código a GitHub, puedes utilizar la línea de comandos o una interfaz gráfica de usuario (GUI). La mayor parte de nuestro artículo tratará sobre el flujo de trabajo de la línea de comandos, pero también hay una sección sobre el uso de una GUI, ya que algunas son populares. Sin embargo, ten en cuenta que cada GUI puede tener un proceso diferente para enviar a GitHub, lo que significa que debes ceñirte a una aplicación concreta para sacarle el máximo partido.
Por último, asegúrate de que tienes el acceso adecuado a tu repositorio. La documentación de GitHub es exhaustiva al respecto, y deberías buscar tokens de acceso HTTPS o acceso Secure Shell (SSH). ¡Sin esto, no podrás trabajar.!
1. Crear un Repositorio de GitHub
El primer paso es crear un nuevo repositorio online dentro de GitHub. Aunque puedes hacerlo desde la línea de comandos, es igual de sencillo hacerlo utilizando un navegador web.
Una vez que inicies sesión o te registres en GitHub, dirígete a la esquina superior derecha de la pantalla y busca un menú desplegable con el signo Más junto al avatar de tu perfil. Si lo abres, te mostrará unas cuantas opciones que incluyen Nuevo repositorio:
Una vez que hagas clic en esto, llegarás a la página Crear un Nuevo Repositorio. Esto te mostrará un montón de ajustes para ayudarte a configurar tu repositorio remoto:
Las opciones que configures aquí dependerán de las necesidades de tu proyecto. Sin embargo, si ya tienes un repositorio local para enviar a GitHub, te recomendamos que selecciones lo menos posible para mantener la paridad entre el local y el remoto.
Desde aquí, haz clic en el botón Crear repositorio, y GitHub configurará todo. En este punto, llegarás a la página de inicio del repositorio con instrucciones sobre cómo configurar un nuevo repositorio local que enlace con el remoto utilizando la línea de comandos. El camino que sigas dependerá de si aún no tienes un repositorio o de si quieres clonar el contenido de un proyecto existente.
Si ya has inicializado Git tu repositorio local ya contiene archivos, no necesitarás realizar nada del paso dos. En su lugar, puedes dirigirte directamente al tercer paso, donde veremos cómo enviar código a GitHub desde tu repositorio local.
2a. Clona tu Repositorio Git Remoto
Si aún no tienes un repositorio local, la versión de GitHub será la única. La mejor forma de sincronizar ambas ubicaciones es utilizar el comando git clone en tu ordenador. Sin embargo, necesitas la URL de tu repositorio.
Para obtenerla, dirígete al repositorio dentro de GitHub, y busca la opción desplegable verde Código encima de tu lista de archivos:
Si no ves esto, es probable que sea porque aún no tienes un repositorio con archivos. Ten en cuenta que puedes copiar la URL del repositorio desde el cuadro azul de Configuración rápida de la parte superior de la pantalla. Simplemente cambia a HTTPS utilizando los botones, y copia la URL.
Sin embargo, preferimos generar un archivo .gitignore, ya que será algo que necesitarás de todos modos. Puedes utilizar gitignore.io para buscar las herramientas que utilizas y, a partir de ahí, generar un archivo .gitignore completo para subirlo al repositorio:
En cualquier caso, una vez que puedas abrir el desplegable Code, te mostrará las URL de tu repositorio. Habrá opciones para HTTPS, Secure Shell (SSH,) y otras. Sin embargo, lo más sencillo es utilizar la URL HTTPS. Puedes hacer clic en el pequeño icono Copiar situado junto a la URL en cuestión para copiarla en tu portapapeles.
A continuación, vuelve a tu Terminal o aplicación de línea de comandos, y ejecuta lo siguiente:
git clone <full-github-url>
Una vez que ejecutes el comando, Git copiará el repositorio remoto a tu entorno local.
2b. Inicializar Git en la Carpeta Local de Tu Proyecto
Para situaciones en las que aún no tienes una versión local de tu repositorio remoto, necesitas inicializar una. La mayor parte del trabajo que hagas será local, enviando los cambios al servidor remoto a intervalos regulares. Estos son los pasos:
- Primero,
cd
a la carpeta que quieras utilizar para tu proyecto. - A continuación, ejecuta el comando
git init
. Esto inicializará Git en la carpeta local de tu proyecto y creará un directorio .git oculto. - Añade tu archivo .gitignore al root de la carpeta local de tu proyecto, ya que no te conviene poner en marcha algunos cambios relacionados con archivos del sistema
Llegados a este punto, necesitas indexar tus archivos actuales. Hazlo de la forma típica utilizando git add
, y luego confirmando los cambios:
git add .
git commit -m “Initial Commit”
git branch -M trunk
La última línea cambia tu rama principal por otra de tu elección si aún no has cambiado de master. Esta última es problemática, ya que tiene connotaciones negativas para la esclavitud, por lo que se recomienda cambiarla. Aquí hemos utilizado trunk, pero main también es aceptable. Si sabes que esta línea no es necesaria para ti, puedes omitirla.
Llegados a este punto, ¡ya estás preparado para aprender a enviar a GitHub!
3. Añade un Nuevo Origen Remoto y Envía tu Código a GitHub
Una vez que hayas creado un nuevo repositorio remoto en GitHub, tienes que añadir un nuevo «origen remoto» a tu repositorio local. Esto es esencialmente el enlace a tu repositorio remoto, para que tu repositorio local sepa dónde enviar los cambios.
Para ello, introduce el siguiente comando en tu terminal:
git remote add origin <github-url>
En un sentido técnico, el remoto que añadas puede tener cualquier nombre. Sin embargo, la mayoría lo llama «origin», ya que sólo utilizas un remoto añadido, y ofrece una claridad absoluta. En este punto, puedes enviar a GitHub utilizando lo siguiente:
git push -u origin trunk
Este comando enviará tu código al nuevo origen remoto — llamado «origin» — y establece la rama upstream en «trunk» También puedes enviar cualquier rama al repositorio remoto si lo necesitas.
Una vez completado el proceso, tienes que verificar que el envío ha sido un éxito. Hay un par de formas de hacerlo. Por ejemplo, puedes dirigirte al repositorio en GitHub y comprobar si los cambios están activos:
Sin embargo, también puedes ejecutar git log
desde la línea de comandos:
Este comando muestra todas los commits de tu repositorio, incluida la que acabas de enviar. Por lo tanto, si el commit está dentro del registro, el envío ha sido un éxito.
Cómo Enviar a GitHub Sin Errores
En algunos casos, puedes encontrarte con un error cuando intentas enviar código a GitHub:
Esto ocurre cuando ya tienes una conexión segura a GitHub a través de un proyecto antiguo pero utilizando una clave RSA antigua. Tenemos una guía sobre cómo solucionar este problema en general. Sin embargo, para solucionarlo específicamente para GitHub, puedes ejecutar lo siguiente:
ssh-keygen -R github.com
Esto actualizará tu archivo de «hosts conocidos» y, a continuación, mostrará un mensaje de confirmación:
Desde aquí, ejecuta lo siguiente para añadir la nueva clave RSA a tu archivo de hosts conocidos:
curl -L https://api.github.com/meta | jq -r '.ssh_keys | .[]' | sed -e 's/^/github.com /' >> ~/.ssh/known_hosts
De hecho, puede que aquí también veas un error relacionado con el paquete jq. Si éste es el caso, puedes ejecutar cualquiera de las siguientes opciones dependiendo de tu sistema operativo:
- Windows:
curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe
- Mac:
brew install jq
- Linux:
apt-get update | apt-get -y install jq
Una vez instalado, vuelve a ejecutar el comando y espera a que se complete:
Finalmente, puedes volver a ejecutar el comando git push
y, esta vez, deberías ver que el proceso se completa. Si no es así, es probable que el problema se deba a que las claves SSH son incorrectas o incluso a que necesitas configurar conexiones seguras utilizando claves dedicadas. Tenemos una guía completa sobre cómo generar nuevas claves SSH para GitHub, y la documentación de GitHub aquí también es completa.
Utilizar una GUI para Enviar Tu Código a GitHub
Aunque el proceso de enviar código a GitHub es sencillo una vez que lo has configurado, hay un montón de pasos, advertencias y subprocesos a tener en cuenta. Una GUI puede simplificar el proceso.
Por ejemplo, tienes toda la funcionalidad de la línea de comandos pero utilizando una interfaz más agradable (con arrastrar y soltar en algunos casos.) Es más, a menudo es más fácil visualizar y gestionar los cambios a través de una GUI, especialmente si no estás familiarizado con las herramientas de línea de comandos.
Si sabes que nunca necesitarás utilizar tu aplicación GUI para acceder a otro alojamiento VCS remoto, GitHub Desktop podría ser perfecto.
La aplicación te permite crear y gestionar repositorios, confirmar cambios y enviar esos cambios a GitHub con sólo unos clics. Funciona mediante la función de arrastrar y soltar y también tiene una herramienta de «diferencia visual» que simplifica la identificación de los cambios de código entre versiones:
Sourcetree es otra popular interfaz gráfica de Git que analizamos en nuestro resumen de herramientas de desarrollo web. Aunque el VCS preferido es BitBucket (por ser un producto de Atlassian), puedes utilizar la herramienta con GitHub. La herramienta de resolución de conflictos de fusión también es útil y es una de las características más destacadas.
GitKraken es posiblemente la aplicación con la interfaz gráfica más atractiva disponible y ofrece una versión gratuita razonable para repos locales y públicos. Es compatible con todos los principales alojamientos de VCS: GitHub, por supuesto, pero también GitLab y BitBucket, entre otros. Nos encanta su representación visual de tu repositorio, y la solución también ofrece una funcionalidad bien pensada para los equipos.
Utilizar GitHub Desktop para Enviar a GitHub
Aunque el proceso para cada aplicación será ligeramente diferente, GitHub Desktop es muy sencillo. Trabajas en una única pantalla que utiliza varias ventanas y paneles. Una vez que haces un cambio en un archivo (que puedes abrir en el editor de tu elección desde un menú contextual con el botón derecho), lo confirmas utilizando un pequeño widget en pantalla:
Este commit formará parte de la sección «Push Origin» de la barra de herramientas superior: Si no tienes ningún cambio que confirmar, también habrá una notificación para enviar tus commits al origen remoto:
Esta es una solución de un solo clic para enviar cambios a tu repositorio de GitHub. Todo el flujo de trabajo es rápido, indoloro y sencillo de ejecutar.
Utilizar el Alojamiento de Aplicaciones de Kinsta y GitHub
Si eres cliente de Kinsta, puedes traernos todas tus aplicaciones. Nuestro Alojamiento de Aplicaciones y Bases de Datos te permite desplegar casi cualquier aplicación utilizando varios lenguajes, como PHP, Node, Python, etc. Te conectas a GitHub sin necesidad de utilizar un montón de comandos Git.
Para empezar, inicia sesión en tu panel de control de Kinsta, y navega hasta la pantalla de Aplicaciones. La primera vez que accedas a ella parecerá que está vacía:
Sin embargo, si haces clic en el botón Añadir servicio, te dará la opción de desplegar una aplicación o una base de datos. Para este ejemplo, elegiremos Aplicación:
A continuación, Kinsta te pedirá que te conectes a GitHub para importar repos de la plataforma:
El asistente que viene a continuación te ayudará a configurar tu aplicación. Primero tienes que elegir un repositorio de GitHub, y luego seleccionar la rama por defecto:
También tienes que dar un nombre a tu aplicación dentro de MyKinsta y seleccionar un centro de datos. Una vez que hagas clic en Continuar, tendrás que ajustar la configuración del entorno de construcción:
Aquí tienes un par de opciones:
- Elegir una máquina de construcción de la lista.
- Configurar una imagen contenedora, ya sea utilizando la automatización o desde una ruta específica propia.
Después de esto, tienes que configurar tus recursos y procesos. Nuestros Ejemplos de Inicio Rápido incluyen los procesos web relevantes que necesitas, pero también puedes configurar los tuyos propios. Ten en cuenta que puedes tener tantos procesos como te permita tu presupuesto:
Una vez que veas los costes mensuales de uso, podrás realizar el pago. En este punto, puedes utilizar el Alojamiento de Aplicaciones completo con integración de GitHub. Hay mucho más que descubrir sobre el Alojamiento de Aplicaciones y Bases de Datos, y nuestra documentación es completa y exhaustiva.
Resumen
GitHub es una herramienta esencial para desarrolladores y programadores. Proporciona un repositorio centralizado para almacenar, rastrear y colaborar en el código. Una vez que aprendas a enviar tu código a GitHub desde un repositorio local, podrás unirte a la colaboración.
Usando la línea de comandos, es sencillo enviar tu código a GitHub y sólo necesitarás algunos comandos una vez que lo hayas configurado todo. Sin embargo, es posible que desees considerar una aplicación GUI dedicada, como GitKraken o GitHub Desktop. Estas aplicaciones eliminan la línea de comandos de la ecuación y te permiten realizar casi todas las tareas que necesitas con Git desde una interfaz familiar.
Además, GitHub es excelente en combinación con el Alojamiento de Aplicaciones y Bases de Datos de primer nivel de Kinsta. Esto te permite conectar tu repositorio de GitHub a nuestra red de 25 centros de datos y dar soporte a multitud de frameworks diferentes. El precio basado en recursos también es competitivo y está al alcance de la mayoría
¿Tienes alguna pregunta sobre cómo enviar a GitHub? Pregunta en la sección de comentarios más abajo
Deja una respuesta