perfil
Francisco Carusso

Todointerconectado

Bienvenidos al curso Git

Acceso a los comandos en la página oficial de Git:

Comandos de Git
git init Empezar la conexión con Git
git add (nombre del archivo) Sirve para guardar un archivo en el repositorio de Git.
git add . para guardar todos los archivos en el repositorio de Git
git status -s Muestra los archivos con copia de guardado y los que no.
(conectar el repositorio de GitHub a la terminal) dentro de la terminal Git Bash pegamos la url del repositorio
git commit -m "descripción" Crea una copia de guardado.
git log --oneline Muestra los archivos guardados en Git.
git reset --hard (código guardado) vuelbe al punto que se guardo en el codigo seleccionado.
git log --oneline | cat Muestra los commit generados.
git diff (los 2 codigos a comparar) Se comparan las lineas de códigos cambiados entre dos commit.
git revert --no-commit HEAD Sirve para eliminar cambios de varios commit y crear un solo commit nuevo.
git revert --no-commit HEAD~1 Revierte los cambios al commit anterior.
(HEAD es el puntero y ~ señala a que commit ir con el número)
Una ves de terminar los cambios colocamos:
git revert --continue Esto termina de hacer la reversión y crea un unico commit con los cambios.
Nos queda un único commit de revert
git reset HEAD^  --soft Eliminar el ultimo commit sin perder el código actual.
El símbolo ^ lo escribimos con las teclas: (Alt + 94)
(Elimina un commit específico) Pasos: Tenemos que estar en la rama en la cual vamos a eliminar el commit especifico.
git log (colocas master o main, dos puntos y el nombre de la rama que se esta.) Vemos los disintos commit con su respectivo identificadores.
git rebase -i (colocamos el identificador anterior al que queremos eliminar) Si queremos eliminar el commit número 3 colocamos el identificador número 2.
git commit -am "descripción"
  • Dos comandos en uno:
  • Comando commit
  • Comando add
clear: Para limpiar la consolo de Git
push: Para cargar del editor al GitHub.
pull: Para traer de GitHub al editor local.
tags: Nos permiten verificar versiones de nuestro proyecto.
Para esto tenemos dos pasos: git tag -a (nombre identificatibo del tag) -m "descripción":
Ej: git tag -a (V1.0.1) -m "Version Inicial"
Este paso toma nota en Git.

git push --tags:
Guardamos los tags en GitHub.
Estaba tratando de ingresar a un repositorio canónico esta mañana y obtuve el siguiente error: $ git push origin main
error: src refspec master matches more than one.
error: failed to push some refs to 'ssh://user@Todointerconectado/srv/git/repo'

Esto sucedió porque accidentalmente había creado una etiqueta main localmente:

Comando: $ git tag
tag1
main
tag2

Una vez que eliminé esta etiqueta localmente vamos a poder hacer push y crear ramas
Comando: git tag -d main
Ramas o Brach Rama es una linea de tiempo del proyecto en Git. Se pueden crear varias ramas.
git branch (y el nombre de la rama) Crear una rama.
git branch -d (y el nombre de la rama) Borrar rama.
git branch Podemos ver las ramas existentes. Nos encontramos en la rama con el *
git checkout (y el nombre de la rama) Me muevo entre las ramas. Y creo un botón desde una rama secundaria: Guardo el desarrollo en la rama pertinente con Git
git merge (y el nombre de la rama que se quiere fucionar) Hacer un merge (Enlasar las ramas creadas en un solo archivo.) Se hace desde la rama master (main)
Proceso de git merge
Como generar un Pull requests de un solo commit: Para esto tenemso que hacer un congunto de pasos:
  1. Primero vamos a la rama que tenemos ese commit:
    git switch nombre-rama
  2. Copiamos el código SHA del commit:
    git log
  3. Vamos a la rama que queremos generar el Pull requests y creamos una rama temporal y nos movemos a ella.
    1. Non movemos a la rama: git switch nombre-rama
    2. creamos la rama    : git branch nombre-rama-temporal
    3. Nos movemos a la rama: git switch nombre-rama-temporal
  4. Dentro de la rama temporal utilizamos cherry-pick
    git cherry-pick SHA

    Ej: git cherry-pick c8dc73f56eb5e548a0f9df2989d8346580ada1b7
  5. Si llegas a tener conflictos al usar cherry-pick, debes hacer lo mismo que cuando tienes conflictos con un merge y cambiar los archivos con los que tengas problemas (posiblemente por haber editado el mismo archivo).
  6. Ahora subir esa rama-temporal al repositorio:
    git push origin rama-temporal
  7. Generas el Pull requests entre la rama que quieres el commit y la rama-temporal. Listo 😁
  8. Al finalizar podes eliminar la rama del repositorio desde GitHub.
    En local podes eliminar la rama con: git branch -D rama-temporal.