Logo de git Comandos de GitHub
Vista Nocturna

Comandos más usados

Comando de consola útiles

Esta sección es un extra, no tiene que ver directamente con Git, pero puede apoyar de una u otra manera tu repositorios.

Comandos importantes

Estos comandos se separan ya que tienen funciones muy importantes.


Comandos en ramas

Estos son los comandos aplicados para manejarse entre ramas, crear nuevas ramas, etc.


Repositorios remotos - GitHub

Conoceremos como poder conectar nuestro repositorio local con algún repositorio remoto, subir nuestros cambios a dicho repositorio, obtener los cambios desde el repositorio y mucho más.

Para este caso de prueba utilizaremos el repositorio remoto más conocido del mundo, GitHub.

  1. Primero, debemos crearnos una cuenta en GitHub y crear un nuevo repositorio. Preferiblemente, debemos crear el archivo README ya que a través de el podremos indicarle a otros desarrolladores de que va nuestro código.

  2. Luego de crear el repositorio, Github nos dará la url del mismo, esta la utilizaremos para agregar este origen remoto desde nuestro repositorio local. Se debe copiar la ruta HTTPS que github nos dió:

    url de nuestro repositorio remoto

  3. Usar el comando git remote add origin urlRepositorioRemoto con esto, estaremos agregando la referencia del repositorio remoto a nuestro repositorio en local. Posterior a esto, la consola de git no arrojará ningún mensaje, pero si usamos el comando git remove -v podremos visualizar el repositorio remoto al que hacemos referencia actualmente.

    git remote -v para ver la referencia del repositorio remoto

    Te dejo la url de este mismo repositorio para que puedas probar: https://github.com/avasquez-ve/gitCommands.git

  4. Como ya tenemos la referencia del repositorio remoto, ahora debemos obtener la historia que se encuentre en dicho repositorio, esta acción se debe realizar siempre antes de enviar los cambios desde el repositorio local.

    Si el repositorio remoto es diferente a nuestro repositorio local, es probable que Git nos de un warning con el mensaje "refusing to merge unrelated histories" esto quiere decir que no puede hacer la fusión debido a que las historias de los dos repositorios son diferentes. Para forzar esta acción y poder obtener la historia del repositorio remoto debemos usar el comando git pull origin master --allow-unrelated-histories para permitir unir ambas historias.


  5. git pull origin master, mensajes de advertencia

  6. Con el comando ls -al podremos ver el archivo README creado desde GitHub. Y al ejecutar git log también veremos el commit hecho en GitHub para dicho archivo.

    comando ls -al. Usado para visualizar en forma de lista los archivos visibles y ocultos de un directorio

  7. Ahora, para subir los cambios locales al repositorio, debemos usar el comando git push origin master, con esto, ya nuestros cambios locales estarán dentro del repositorio remoto. Recordar siempre que este comando lo debemos ejecutar desde la rama master para no generar conflictos.


  8. comando git push origin master. Usado para subir los cambios hacia un repositorio remoto

    Así quedó nuestro repositorio remoto en GitHub luego de agregar los cambios desde el repositorio local


    repositorio en GitHub

Configurar tus llaves SSH en local

Aprenderemos como usar las llaves SSH para conectarnos a GitHub usando SSH y dejar a un lado HTTPS

Para hacer nuestra conexión aún más segura, podemos usar llaves encriptadas, con las cuales enviamos nuestros datos cifrados. Dichos datos solo podrán ser decifrados con una llave pública que compartiremos con GitHub.

  1. Primer paso: Generar las llaves SSH con el comando
    ssh-keygen -t rsa -b 4096 -C "tu@email.com"
    debemos usar el mismo email que usamos para Github. Tomar en cuenta que luego de apretar enter, nos va a sugerir agregarle una contraseña a dicha llave para hacerla aún más segura. Este paso es opcional, si no queremos agregarle una contraseña solo aprietas ENTER.

  2. Las llaves se guardaran en una carpeta oculta llamada .ssh donde tendremos la llave pública id_rsa.pub y la privada id_rsa NOTA: La llave privada jamás se debe compartir con nadie ni con ningún otro dispositivo.

  3. Segundo paso: para terminar de configurar las claves, debemos comprobar que el servidor se encuentre activo, para esto usar el comando
    eval $(ssh-agent -s)
    lo cual nos debería retornar un mensaje Agent pid numeroAleatorio

  4. Tercer y último paso: ahora, solo debemos agregar al servidor nuestra llave privada, para esto, usar el comando
    ssh-add ruta-donde-guardaste-tu-llave-privada
    Y listo, ya tendremos configurada nuestra llave privada para poder conectarnos a través de SSH con GitHub

La documentación oficial de GitHub para configurar las llaves SSH para Windows, Linux y Mac, se encuentra en:

https://docs.github.com/es/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

Conectarnos a Github a través de SSH

Luego de haber creado y configurado nuestra llave privada. Debemos configurar nuestra llave pública (la única que podemos compartir) con Github. Es importante tener en cuenta que debemos realizar los pasos anteriores, de lo contrario, no podremos continuar con este paso.

  1. Como primer paso: debemos agregar nuestra llave pública a nuestra cuenta de Github. Para eso debemos copiar el contenido de nuestra llave publica, ubicada en el archivo id_rsa.pub

  2. El segundo paso es: Ingresar en nuestra cuenta de Github y dirigirnos a la configuración y posteriormente a la gestion de KEYS SSH
    url: https://github.com/settings/keys
    Debemos hacer click en New SSH Key
    boton crear nueva key ssh
    y luego agregar como título, el pc que tendrá asignado dicha key publica, esto es para poder identificarlo, ya que podemos tener varios equipos conectados por SSH a nuestros repositorios. Al finalizar, hacer click en Add SSH KEY
    agregando key ssh

  3. Ahora podremos ver que nuestra key SSH se agregó correctamente
    ver key agregada

  4. Como siguiente paso, debemos configurar nuestro repositorio local para dejar de usar HTTPS y empezar a usar SSH con nuestras nuevas keys. Para esto, debemos ir a nuestro repositorio y ejecutar el comando
    git remote set-url origin url-ssh-del-repositorio-en-github
    Con esto estaremos cambiando la url del repositorio en github. Podemos comprobar la nueva url usando git remove -v
  5. Ahora puedes hacer un git pull origin master confirmar los mensajes, realizar cambios en tu repositorio local y hacer un git push origin master

Tags y versiones en Git y GitHub

Los tags nos permiten asignar versiones a los commits con cambios más importantes o significativos en nuestro proyecto. A continuación, se presentan los comandos para trabajar con las etiquetas:

Usando Rebase

Rebase se utiliza para unir los cambios que tengamos en una rama con nuestra rama master y no dejar rastros de la existencia de dicha rama creada.

El rebase es útil, por ejemplo, si estamos realizando arreglos de un bug y no se desean mostrar estos cambios como tomados de una rama, si no como parte del flujo normal de la aplicación.

Rebase se encarga de ajustar los cambios al momento en que se realizaron y hacer un merge desde el primer commit, no desde el último (como funciona normalmente un flujo en git)

Usando Git Stash

Git stash es muy útil cuando tienes cambios que no deseas realizarle commits aún, o para realizar pruebas, experimentos que no requieran o no quieras crear una rama para poder visualizarlos

El stash es una forma de almacenar tus cambios pendientes para luego poder obtenerlos y hacerles commit, incluso puedes crear una rama con esos cambios pendientes, hacerle commit en la nueva rama y luego realizar un merge en master.

Pasos para usar Stash

Git Clean

Este comando es utilizado para eliminar archivos que no forman parte de nuestro directorio de trabajo, archivos como .logs, resultados de una compilación, etc.

Git cherry pick

Existe un mundo alternativo en el cual vamos avanzando en una rama pero necesitamos en master uno de esos avances de la rama, para eso utilizamos el comando git cherry-pick IDCommit.

cherry-pick es una mala práctica porque significa que estamos reconstruyendo la historia.

Git amend

A veces hacemos un commit, pero resulta que no queríamos mandarlo porque faltaba algo más.

Amend remienda nuestro error y los cambios que hicimos nos los permite agregar al commit más reciente.

Magia para desarolladores

Si has llegado hasta aquí y ya manejas de memoria los principales comandos de git, los comandos para las ramas,sabes hacer un merge sin caer en la locura y trabajar con repositorios remotos.

Te dejo un buen comando de git que te ayudará a ver fácilmente tu historial de commits.

¡OJO! haz clic en el siguiente enlace solo si REALMENTE manejas y comprendes los comandos anteriores y el flujo de Git, de lo contrario, REGRESA OTRO DÍA 👺

Visualizar el comando