GIT BASICS

GIT INIT

Para empezar a usar git en un proyecto hay que inizializarlo con el comando git init . Esto genera el repositorio local de git para poder empezar a trabajar con git.
$git initcopy

GIT ADD

Antes de hacer una "imagen" (commit) se debe indicar que archivos queremos incluir en esa imagen. Para ello se usa el comando git add y como parámetro se indica el archivo que queremos añadir, por ejemplo git add file.ts . También se puede indicar que añada todos los archivos de la siguiente forma git add . .
$git add .copy

GIT STATUS

Para comprobar el estado de los archivos (si están incluidos o no para el commit) se usa el comando git status .
$git statuscopy

GIT COMMIT

Cuando ya se tienen preparados todos los archivos (git add) y se quiere hacer la "imagen", se usa el comando git commit . A este comando se le añade un mensaje descriptivo sobre que cambios guarda añadiendo el parametro git comit -m "message" .
$git commit -m "message commit" copy

GIT CHECKOUT

Dentro de un sistema de git existe el HEAD, que es un puntero que indica en qué commit se van a realizar operaciones. Si por ejemplo se crea una rama, esta se creará en el commit que está apuntando el HEAD.
$git checkout ID_COMMIT/TAG/NOMBRE_RAMAcopy

GIT TAG

Todos los commits al generarse tiene un identificador. Pero este identificador es poco representativo. Si se quiere poner un nombre representativo a un commit, se usa el comando git tag .
$git tag NOMBRE_TAGcopy

GIT BRANCH

Cada commit que se realiza pertenece a una rama, por defecto la rama master, y cada commit apunta al commit previo formando un camino. Este camino se puede dividir formando nuevos cominos y que los commits pertenezcan a estos nuevos caminos.
$git branch NOMBRE_RAMAcopy

GIT BRANCH -m

Se puede cambiar el nombre de la rama actual usando el comando git branch -m .
$git branch -m NOMBRE_RAMAcopy

GIT BRANCH -D

Si se desea eliminar una rama, generalmente cuando esta ya se ha mergeado a una rama principal se puede hacer con el comando git branch -d . Esto eliminará la rama pero se mantendrán los commits que pertenecía a ella.
$git branch -d NOMBRE_RAMAcopy

GIT RESET

Para descartar los últimos commits y volver a un punto anterior, descartando el trabajo posterior a ese punto, se hace a través del comando git reset .
$git reset --hard ID_COMMIT/TAGcopy

GIT PUSH ORIGIN -D

Cuando se elimina una rama en local, esta no se borra de forma automática. Así que se usa el comando git push origin -d .
$git push origin -d NOMBRE_RAMAcopy

GIT BRANCH --FORCE

Existe una forma de volver a un punto anterior (como git reset) pero sin descartar los commits. Esto es a través del comando git branch --force .
$git branch --force NOMBRE_RAMA ID_COMMIT/TAGcopy

GIT MERGE

Cuando se tienen dos ramas que se quieren unificar en una sola se usa el comando git merge . Esto traerá la rama indicada a la rama actual, generando un nuevo commit en la rama actual donde se recoge el merge.
$git merge NOMBRE_RAMAcopy

GIT SWITCH

El puntero HEAD normalmente se encuentra ubicado en el final de una rama. Para cambiar este puntero al final de otra rama se usa el comando git switch .
$git switch NOMBRE_RAMAcopy

GIT CHERRY-PICK

El comando git cherry-pick permite traer uno o más commits a la rama actual. Genera una copia de esos commits y los inlcuye en la rama en la que está ubicado el HEAD.
$git cherry-pick ID_COMMIT1/TAG1 ID_COMMIT2/TAG2 ID_COMMIT3/TAG3copy

GIT REMOTE ADD ORIGIN

Para empezar a trabajar con un repositorio remoto se debe indicar la url al repositorio local a través del comando git remote add origin .
$git remote add origin URL_REPOSITORIOcopy

GIT PULL ORIGIN MAIN

Una vez indicado el repositorio remoto, se deben traer los commits que existen en el repositorio online en la rama principal con el comando git pull origin . Esto solo se hace una vez.
$git pull origin maincopy

GIT BRANCH --SET-UPSTREAM-TO

(?) Esto se hace una vez despues de git pull origin main . No se por qué. Solo una vez.
$git branch --set-upstream-to=origin/NOMBRE_RAMA NOMBRE_RAMAcopy

GIT PULL --ALLOW-UNRELATED-HISTORIES

(?) Esto se hace una vez despues de git branch --set-upstream-to . No se por qué. Solo una vez.
$git pull --allow-unrelated-historiescopy

GIT PUSH -U ORIGIN

(?) Se hace un primer push con el parámetro -u. No se por qué. Solo una vez.
$git push -u origin NOMBRE_RAMAcopy

GIT FETCH

Para actualizar la información que se tiene en el repositorio local sobre el repositorio remoto, se usa git fetch que trae dicha información, pero no altera nada, es puramente informativo.
$git fetchcopy

GIT PULL

Si se quieren descargar los cambios que existen en el repositorio remoto al repositorio local, se usa el comando git pull .
$git pullcopy

GIT PUSH

Cuando se tienen cambios en local y se quieren subir dichos cambios al repositorio remoto, se usa el comando git push .
$git pushcopy