Español ▾ Topics ▾ Latest version ▾ git-commit last updated in 2.55.0

NOMBRE

git-commit - Registra cambios en el repositorio

SINOPSIS

git commit [-a | --interactive | --patch] [-s] [-v] [-u[<modo>]] [--amend]
	   [--dry-run] <confirmación>]
	   [-F <fichero> | -m <mensaje>] [--reset-author] [--allow-empty]
	   [--allow-empty-message] [--no-verify] [-e] [--author=<autor>]
	   [--date=<fecha>] [--cleanup=<modo>] [--[no-]status]
	   [-i | -o] [--pathspec-from-file=<fichero> [--pathspec-file-nul]]
	   [(--trailer <token>[(=|:)<valor>])…​] [-S[<id-clave>]]
	   [--] [<especificación-de-ruta>…​]

DESCRIPCIÓN

Crea una nueva confirmación con el contenido actual del índice y el mensaje de bitácora dado que describe los cambios. La nueva confirmación es un hijo directo de HEAD, usualmente la punta de la rama actual, y la rama es actualizada para apuntar a ella (a menos que no haya una rama asociada con el árbol de trabajo, en cuyo caso HEAD se "desprende" como se describe git-checkout[1]).

El contenido a ser confirmado puede especificarse de varias maneras:

  1. usando git-add[1] para "agregar" incrementalmente cambios al índice antes de usar el comando commit (Nota: incluso ficheros modificados deben ser "agregados");

  2. usando git-rm[1] para remover ficheros del árbol de trabajo y el índice, también antes de usar el comando commit;

  3. listando ficheros como argumentos al comando commit (sin alguna de las opciones --interactive o --patch), en cuyo caso la confirmación ignorará cambios presentados en el índice, y en su lugar registrará el contenido actual de la lista de ficheros (la cual ya debe ser del conocimiento de Git);

  4. usando el modificador -a con el comando commit para "agregar" automáticamente cambios de todos los ficheros conocidos (ej. todos los ficheros que ya están listados en el índice) y "remover" automáticamente los ficheros en el índice quitados del árbol de trabajo, y entonces realizar la confirmación actual;

  5. usando los modificadores --interactive o --patch con el comando commit para decidir uno por uno cuáles ficheros o pedazos deberán ser parte de la confirmación además del contenido en el índice, antes de finalizar la operación. Ver la sección ``Modo Interactivo" de git-add[1] para aprender cómo operar esos modos.

La opción --dry-run puede usarse para obtener un resumen de lo que se incluirá en cualquiera de los anteriores para la confirmación siguiente dando el mismo conjunto de parámetros (opciones y rutas).

Si haces una confirmación y luego encuentras un error inmediatamente después, puedes recuperarte de él con git reset.

OPCIONES

-a
--all

Presenta automáticamente los ficheros que han sido modificados y eliminados, pero los ficheros nuevos que no le has enterado a Git no son afectados.

-p
--patch

Usa la interfase de selección de parche interactiva para elegir cuáles cambios se confirmarán. Ver git-add[1] para detalles.

-U<n>
--unified=<n>

Genera diferencias con <n> líneas de contexto. El número de líneas de contexto es predeterminado a diff.context o 3 si se omite la configuración de la variable. (-U sin <n> se acepta silenciosamente como sinónimo de -p por un accidente histórico).

--inter-hunk-context=<n>

Muestra el contexto entre pedazos de diferencia, hasta el <número> especificado de líneas, a modo de fusionar pedazos cercanos. Predeterminado a `diff.interHunkContext`o 0 si no se configura la opción.

-C <confirmación>
--reuse-message=<confirmación>

Toma un objeto <confirmación> existente, y reusa el mensaje de registro y la información de autoría (incluyendo la marca de tiempo) cuando se crea la confirmación.

-c <confirmación>
--reedit-message=<confirmación>

Como -C, pero con -c se invoca al editor, de tal manera que el usuario pueda editar posteriormente el mensaje de confirmación.

--fixup=[(amend|reword):]<confirmación>

Crea una nueva confirmación que "arregla" <confirmación> cuando se aplica con git rebase --autosquash. Un --fixup=<confirmación> de plano crea una confirmación "arreglo" que modifica el contenido de <commit> pero sin tocar su mensaje de registro. --fixup=amend:<confirmación> es similar pero crea una confirmación "enmieda" la cual además reemplaza el mensaje de registro de <confirmación> con el mensaje de la confirmación "enmienda". --fixup=reword:<confirmación> crea una confirmación "enmienda" que reemplaza el mensaje de registro de <confirmación> con su propio mensaje pero sin hacer cambios al contenido de <confirmación>.

La confirmación creada por --fixup=<confirmación>`plano tiene un título compuesto de "fixup!" seguido por el título de _<confirmación>_, y es reconocido especialmente por `git rebase --autosquash. La opción -m puede usarse para suplir el mensaje de la confirmación creada, pero el comentario adicional será tirado una vez que la confirmación "arreglo" aplaste <confirmación> por git rebase --autosquash.

La confirmación creada por --fixup=amend:<confirmación> es similar pero su título es prefijado con "amend!". El mensaje de <confirmación> es copiado en el mensaje de registro de la confirmación "amend!" y se abre en un editor para que se pueda refinar. Cuando git rebase --autosquash aplasta la confirmación "amend!" en <confirmación>, el mensaje de <confirmación> es reemplazado por el mensaje de registro refinado de la confirmación "amend!". Es un error para el mensaje de registro de la confirmación "amend!" que esté vacío a menos que se especifique --allow-empty-message.

--fixup=reword:<confirmación> es un atajo de --fixup=amend:<confirmación> --only. Crea una confirmación "amend!" con sólo un mensaje de registro (ignorando cualquier cambio presentado al índice). Cuando es aplastado por git rebase --autosquash, reemplaza el mensaje de registro de <confirmación> sin hacer algún otro cambio.

Ninguna de las confirmaciones "fixup!" o "amend!" cambia la autoría de <confirmación> cuando es aplicado por git rebase --autosquash. Ver git-rebase[1] para detalles.

--squash=<confirmación>

Construye un mensaje de confirmación para usarse con git rebase --autosquash. El título del mensaje de confirmación se toma de la confirmación especificada con un prefijo "squash!". Puede usarse con opciones adicionales de mensaje de confirmación (-m/-c/