WALUDO Herramientas
DOCS.01 WALUDO DOCS

Guía rápida de Git

Referencia de comandos habituales de Git sobre configuración, ramas, commits, fusiones, deshacer cambios, repositorios remotos y Conventional Commits, con ejemplos editables y copiables.

Comandos habituales

La mayoría de los comandos siguientes procede de it-tools.tech y se complementa con prácticas de desarrollo habituales.

El texto azul de los bloques de código se puede editar para modificarlo y copiarlo rápidamente.

Configuración

Establece el nombre y el correo electrónico globales:

bash
git config --global user.name "WaLudo"
git config --global user.email "waludo@gmail.com"

Empezar un proyecto

Inicializa un repositorio Git:

bash
git init

Clona un repositorio existente:

bash
git clone https://github.com/WaLudo/waludo-tools.git

Commits

Confirma todos los cambios seguidos:

bash
git commit -am "feat: add two cups of coffee"

Confirma todos los cambios:

bash
git add .
git commit -m "feat: add five cups of coffee"

Añade cambios nuevos al commit anterior:

bash
git commit --amend --no-edit

Me he equivocado

Edita el mensaje del commit más reciente:

bash
git commit --amend

Deshace el commit más reciente, conservando los cambios:

bash
git reset HEAD~1

Deshace los últimos N commits, conservando los cambios:

bash
git reset HEAD~N

Deshace el commit más reciente y elimina todos los cambios:

bash
git reset HEAD~1 --hard

Restablece la rama local al estado remoto:

bash
git fetch origin
bash
git reset --hard origin/branch-name

Varios

Cambia el nombre de la rama local master a main:

bash
git branch -m master main

Convención de commits

Consulta la especificación de Conventional Commits v1.0.0 en https://www.conventionalcommits.org/es/v1.0.0/.

Valida tu commit

git commit -m "feat(scope): description"

Referencia rápida de tipos

TipoDescripción
fixCorrige un error
featIntroduce una funcionalidad
buildModifica el sistema de compilación (dependencias, interfaces externas, versión de Node, etc.)
choreCambios no relacionados con la lógica de negocio (proceso de compilación, configuración de herramientas, etc.)
ciModifica la configuración de integración continua (CI/CD)
docsModifica la documentación (README, documentación de API, etc.)
styleCambia el estilo del código sin alterar la lógica
refactorReestructura el código sin cambiar su comportamiento
perfMejora el rendimiento
testModifica los casos de prueba

Ámbito

Puedes añadir un ámbito entre paréntesis después del tipo para aportar contexto:

feat(parser): adds ability to parse arrays

Cambios incompatibles

Un signo de exclamación indica un cambio incompatible y se puede añadir a cualquier tipo:

feat(api)!: send an email to the customer when a product is shipped

También puedes incluir la expresión BREAKING CHANGE en el pie del commit para expresar lo mismo.

Cuerpo y pie de varias líneas

Ejemplo de un commit con cuerpo y pie de varias líneas:

fix: prevent racing of requests

Introduce a request id and a reference to latest request. Dismiss
incoming responses other than from latest request.

Remove timeouts which were used to mitigate the racing issue but are
obsolete now.

Reviewed-by: Z
Refs: #123

Especificación completa

Las palabras clave MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY y OPTIONAL deben interpretarse según RFC 2119: https://www.ietf.org/rfc/rfc2119.txt.

  • Cada commit MUST comenzar con un tipo, seguido de un ámbito opcional, un signo de exclamación opcional y dos puntos y un espacio finales obligatorios
  • Una nueva funcionalidad MUST usar el tipo feat
  • Una corrección MUST usar el tipo fix
  • El ámbito MAY aparecer después del tipo; MUST ser un sustantivo que describa una parte del código y estar entre paréntesis, por ejemplo fix(parser):
  • La descripción MUST seguir inmediatamente a los dos puntos y el espacio del prefijo de tipo y ámbito
  • Tras la descripción breve MAY aparecer un cuerpo largo, que MUST comenzar después de una línea en blanco
  • Después de otra línea en blanco MAY aparecer uno o más pies; cada pie MUST contener un token seguido de dos puntos y espacio, o espacio y almohadilla, como separador
  • El token de un pie MUST usar un guion en lugar de espacios, por ejemplo Acked-by; la excepción es BREAKING CHANGE
  • Un cambio incompatible MUST indicarse con un signo de exclamación en el prefijo o mediante el pie BREAKING CHANGE: descripción
  • Si se usa el signo de exclamación, el pie MAY omitir BREAKING CHANGE: y la descripción SHOULD explicar el cambio incompatible
  • MAY usarse cualquier tipo además de feat y fix, por ejemplo docs: updated ref docs.
  • Las herramientas que implementen la especificación MUST NOT distinguir mayúsculas y minúsculas, salvo que BREAKING CHANGE MUST estar en mayúsculas
  • BREAKING-CHANGE MUST ser sinónimo de BREAKING CHANGE cuando se use como token del pie