Antes de comenzar
Crea una cuenta en Github y agrega un nuevo repositorio. Esta parte es relativamente sencilla y el propio Github te ayuda en el proceso.
Entorno de instalación
En este artículo las configuraciones se realizaron utilizando Linux Slackware 15.0 y con las herramientas nativas Git versión 2.39.4 y OpenSSH 9.3p2. Los comandos utilizados en este material deberían funcionar en cualquier otra distribución de Linux con Git y SSH instalados.
Comenzando
Asumiendo un proyecto llamado telazul, primero iniciemos Git en este directorio:
Shell
# Acceder al directorio cd telazul/ # Iniciar Git git init # Agregar todos los archivos del directorio actual git add . # Guardar permanentemente git commit -m "Commit inicial: agregando archivos" # Cambiar el nombre de lo branch principal de master a main git branch -m master main
Los comandos anteriores se utilizan para iniciar Git en el directorio del proyecto, agregar el árbol de archivos y guardar su estado actual con un mensaje informativo.
Estos pasos están diseñados para utilizar Git, independientemente de si el proyecto se utilizará en GitHub o no. Recuerda que Git funciona de forma distribuida, lo que significa que no necesitas un servidor central para usarlo, ni siquiera una conexión a Internet.
Al final cambiamos el nombre de lo branch local principal de master a main para mantener la compatibilidad con GitHub, que utiliza el nombre main para lo branch principal. Sin este cambio, al subir el proyecto se agregaría a un branch alternativo llamado master.
Configuración del acceso SSH a GitHub
El proyecto se transferirá mediante SSH, que es una forma segura y práctica de transferir archivos a través de Internet.
Vamos a crear las claves que se utilizarán como credenciales para iniciar sesión de forma segura en GitHub sin tener que introducir una contraseña.
# Crea las claves utilizando el algoritmo ed25519
ssh-keygen -t ed25519
Cuando se te solicite, presione para mantener la ubicación predeterminada de las claves y usar una contraseña en blanco. Si ya tienes claves creadas compatibles con GitHub, no necesitas crear una nueva.
Entre computadoras que usan Linux, la clave pública se puede transferir usando el comando ssh-copy-id. En GitHub debes copiar y pegar la clave en la interfaz gráfica de la plataforma. Copie el texto de la clave recién creada, recuerde usar el archivo que termina en .pub, que contiene la clave pública:
cat /home/tu-usuario/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEDbDtQNhBvGd292FgKDRgqhiXGiLHo32ZYXCSS017d5 tu-usuario@nombre-del-host
Copie la línea que comienza con ssh-ed25519, acceda a GitHub, haga
en el menú con su avatar , luego > .También puede utilizar el enlace directo: https://github.com/settings/keys.
Haga clic en Title, pegue la clave pública en el campo Key y haga clic en .
, agregue un título al campoLa configuración debería ser algo parecido a esto:
Subir el proyecto a GitHub
El comando de abajo agrega el alias origin al repositorio remoto con el mismo contenido que el proyecto. Puedes crear múltiples repositorios remotos y origin es el nombre por defecto usado por Git.
git remote add origin git@github.com:tu-usuario/tu-repositorio.git
Recuerda ejecutar el comando anterior dentro de la carpeta de tu proyecto y cambiar los valores tu-usuario y tu-repositorio con tu información.
Por último, el siguiente paso es hacer una copia del proyecto en el repositorio remoto de GitHub:
git push -u -f origin main
- u (o --set-upstream) establece origin como referencia. Esto te permite usar los comandos git push y git pull sin necesidad de informar al repositorio remoto.
- f (o --force) sobrescribirá todo en el repositorio remoto, se utiliza cuando el comando se niega a completar la actualización.
Actualización del proyecto
Ve al sitio GitHub y crea el archivo README con algún contenido. Para sincronizar estos cambios en el repositorio remoto con el local, ve a la carpeta del proyecto y ejecuta:
git pull
Como se mencionó anteriormente, al subir el proyecto con el comando git push utilizando el parámetro -u, se utilizará el repositorio en GitHub como referencia y no será necesario indicar el alias origin en el comando. La actualización se aplicará a lo branch local actual.
Compruebe que el archivo README creado remotamente está ahora presente en la carpeta local del proyecto. Edita el archivo en el repositorio local, agrega una nueva línea en README y luego:
git commit -a -m "update readme" git push
El parámetro -a prepara automáticamente todos los archivos que han sido modificados o borrados, pero los archivos nuevos serán ignorados. Utilice git add para los archivos nuevos. El parámetro -m indica el mensaje de commit. git push actualiza el repositorio remoto en GitHub con los cambios recientes en la carpeta local del proyecto.