DEV Community

Richard Negron
Richard Negron

Posted on • Updated on

Git

Git flujo

Comandos Básicos

  • Versión:
    git --version
    git -v

  • Ayuda de Git:
    git help
    git help commit

  • Credenciales:
    git config --list
    git config --global user.name "Itachi Uchiha"
    git config --global user.email "itachi.uchiha@gmail.com"

  • Iniciar repositorio git ✅:
    git init

  • Verificar estado de mi workspace:
    git status

  • Agregar archivos al stage:
    git add index.html
    git add .

  • Reset:
    git reset .DS_Store

  • Commit:
    git commit -m "primer commit"

  • Cuando los archivos fueron creados inicialmente en Unix y luego son trabajados en Windows presentamos el siguiente warning el cual indica el cambio de LF a CRLF. Para no mostrar el warning nuevamente podemos usar
    git config core.autocrlf true

Warning LF to CRLF

  • Checkout: Digamos que vino el gato y arruinó nuestros archivos, caminó sobre el teclado y escribió garabatos sobre el archivo index.html y peor aún, eliminó unos cuantos archivos y carpetas de nuestro workspace. Podemos recuperar nuestro trabajo regresándolo al último commit.
    git checkout -- .

  • Listar nuestras ramas locales y saber en qué rama estamos:
    git branch

  • Cambiar nombre de rama de master a main:
    git branch -m master main

  • Historial de commits:
    git log
    git log --oneline

  • Seguimiento a carpeta vacía: En ocasiones requerimos que git le de seguimiento a una carpeta vacía, por ejemplo una carpeta donde se subirán imágenes del sitio web. Para estos casos podemos crear un archivo .gitkeep, este pequeño archivo le indica a git que sí le debe dar seguimiento a la carpeta.

  • Actualizar mensaje de último commit:
    git commit --amnend -m "Mensaje corregido"

  • Deshacer último commit:
    git reset --soft HEAD^

  • Reset:
    git reset --soft HEAD^1
    git reset --soft b8098d3
    git reset --mixed HEAD^1
    git reset --mixed b8098d3
    git reset --hard HEAD^1
    git reset --hard b8098d3

  • Reflog:
    git reflog

Ramas, Merge, Conflictos

  • Crear nueva rama:
    git branch nueva-rama
    git checkout -b nueva-rama

  • Listar ramas:
    git branch

  • Moverse entre ramas:
    git checkout rama-destino

  • Merge:
    git merge rama-entrante

  • Tipos de Merge:

    • Fast-Forward
    • Unión automática
    • Unión con conflictos
  • Crear stash: git stash

  • Listar stash: git stash list

  • Merge de stash: git stash pop

  • Eliminar stash: git stash drop

Top comments (0)