Git

Iniciar git

git init

Hacer un commit

$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'

Clonar un repositorio

$ git clone https://github.com/libgit2/libgit2
$ git clone https://github.com/libgit2/libgit2 mylibgit

Historial de commits en el repositorio

git log
git log --oneline --graph --decorate --all

Explorar un commit específico

git checkout hash-commit

Cambiar de rama:

git checkout <nombre de rama>

Crear y cambiar a una nueva rama

git checkout -b <nueva-rama>

Eliminando commit

Teniendo en cuenta de que queremos volver a un determinando commit podemos ejecutar los siguiente:

git reset --hard <hash-commit>
❯ git log --oneline --graph --decorate --all
* 1afc39b (HEAD -> master) gpg: Firmado el sáb 12 oct 2024 22:17:09 -05

| mi quinto commit
* d2014fa gpg: Firmado el sáb 12 oct 2024 22:16:03 -05

| mi cuarto commit
* 6ee2359 gpg: Firmado el sáb 12 oct 2024 22:11:07 -05

| mi tercer commit
* a7b8299 gpg: Firmado el sáb 12 oct 2024 21:55:36 -05

| mi segundo commit
* 02c207a gpg: Firmado el sáb 12 oct 2024 21:54:01 -05
  mi primer commit
❯ git reset --hard a7b8299

Luego de ejecutar tendremos solo dos commit

❯ git log --oneline --graph --decorate --all
* a7b8299 (HEAD -> master) gpg: Firmado el sáb 12 oct 2024 21:55:36 -05

| mi segundo commit
* 02c207a gpg: Firmado el sáb 12 oct 2024 21:54:01 -05

  mi primer commit

Esto puede indicar que los demás commits ya no existen, pero nosotros aun podemos verlos y regresar a los commits borrados.

Para volver a ver los commit borrados podemos ejecutar lo siguiente:

git reset <hash-ultimo-commit->

En este caso es nuetro quinto commit.

❯ git reset --hard 1afc39b
HEAD está ahora en 1afc39b mi quinto commit
❯ git log --oneline --graph --decorate --all
* 1afc39b (HEAD -> master) gpg: Firmado el sáb 12 oct 2024 22:17:09 -05

| mi quinto commit
* d2014fa gpg: Firmado el sáb 12 oct 2024 22:16:03 -05

| mi cuarto commit
* 6ee2359 gpg: Firmado el sáb 12 oct 2024 22:11:07 -05

| mi tercer commit
* a7b8299 gpg: Firmado el sáb 12 oct 2024 21:55:36 -05

| mi segundo commit
* 02c207a gpg: Firmado el sáb 12 oct 2024 21:54:01 -05

  mi primer commit

Seguimiento de movimientos en HEAD o historial

❯ git reflog
c9fba54 (HEAD -> main) HEAD@{0}: commit: Actualización de README
b72a894 HEAD@{1}: commit: Agregado nuevo script de despliegue
ff91273 HEAD@{2}: reset: moving to ff91273
9b7ac14 HEAD@{3}: checkout: moving from main to feature-branch

git branch

Listar ramas

git branch

Cambiar de rama

git switch <nomre-de-rama>

Crear una nueva rama

git branch nombre-de-la-rama

Eliminar rama

git branch -d nombre-de-la-rama

git marge

Fusionar una rama

git merge nombre-de-la-rama
git checkout main
git merge feature

Last updated