Amazon Best VPN GoSearch

icono de página de OnWorks

git-reset: en línea en la nube

Ejecute git-reset en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando git-reset que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


git-reset - Restablece HEAD actual al estado especificado

SINOPSIS


git reajustar [-q] [ ] [-] ...
git reajustar (--parche | -p) [ ] [-] [ ...]
git reajustar [--soft | --mezclado [-N] | --hard | --merge | --keep] [-q] [ ]

DESCRIPCIÓN


En el primer y segundo formulario, copie las entradas de al índice. En el tercero
formulario, establezca el cabezal de rama actual (HEAD) en , modificando opcionalmente el índice y
árbol de trabajo para que coincida. los / por defecto es HEAD en todas las formas.

git reajustar [-q] [ ] [-] ...
Este formulario restablece las entradas de índice para todos a su estado en . (Eso
no afecta al árbol de trabajo ni a la rama actual).

Esto significa que git reset es lo opuesto a git add .

Después de ejecutar git reset para actualizar la entrada del índice, puede usar pago-git(1)
para comprobar el contenido del índice del árbol de trabajo. Alternativamente, usando git-
caja(1) y especificando una confirmación, puede copiar el contenido de una ruta de una
comprometerse con el índice y el árbol de trabajo de una sola vez.

git reajustar (--parche | -p) [ ] [-] [ ...]
Seleccione de forma interactiva trozos en la diferencia entre el índice y
(predeterminado en HEAD). Los trozos elegidos se aplican a la inversa del índice.

Esto significa que git reset -p es lo opuesto a git add -p, es decir, puede usarlo para
Restablecer selectivamente los macizos. Consulte la sección "Modo interactivo" de git-añadir(1) para aprender cómo
para operar el modo --patch.

git reajustar [ ] [ ]
Este formulario restablece el cabezal de la rama actual a y posiblemente actualiza el índice
(restableciéndolo al árbol de ) y el árbol de trabajo en función de . Si
se omite, por defecto es "--mixed". los debe ser uno de los siguientes:

--suave
No toca el archivo de índice o el árbol de trabajo en absoluto (pero restablece la cabeza a
, al igual que todos los modos). Esto deja todos los archivos modificados "Cambios en
estar comprometido ", como git estado lo diría.

--mezclado
Restablece el índice pero no el árbol de trabajo (es decir, los archivos modificados se conservan
pero no marcado para confirmación) e informa lo que no se ha actualizado. Este es el
acción por defecto.

Si se especifica -N, las rutas eliminadas se marcan como intención de agregar (consulte git-añadir(1)).

--difícil
Restablece el índice y el árbol de trabajo. Cualquier cambio en los archivos rastreados en el trabajo.
árbol desde se descartan.

--unir
Restablece el índice y actualiza los archivos en el árbol de trabajo que son diferentes
Entre y HEAD, pero mantiene los que son diferentes entre el índice
y árbol de trabajo (es decir, que tienen cambios que no se han agregado). Si un archivo
que es diferente entre y el índice tiene cambios sin etapas, el restablecimiento es
abortada.

En otras palabras, --merge hace algo como un git árbol de lectura -u -m , pero
lleva adelante entradas de índice no fusionadas.

--guardar
Restablece las entradas de índice y actualiza los archivos en el árbol de trabajo que son diferentes
Entre y HEAD. Si un archivo que es diferente entre y HEAD
tiene cambios locales, el reinicio se cancela.

Si desea deshacer una confirmación que no sea la más reciente en una rama, git-revertir(1) es tu
amigo.

OPCIONES


-q, - silencioso
Cállate, solo informa errores.

EJEMPLOS


Deshacer agregar

$ editar (1)
$ git agregar frotz.c filfre.c
$ correox (2)
$ git restablecer (3)
$ git pull git: //info.example.com/ nitfol (4)

1. Está felizmente trabajando en algo y encuentra que los cambios en estos archivos están en
buen orden. No quieres verlos cuando ejecutas "git diff", porque planeas
trabajar en otros archivos y los cambios con estos archivos distraen.
2. Alguien le pide que tire, y los cambios parecen dignos de fusionarse.
3. Sin embargo, ya ensució el índice (es decir, su índice no coincide con HEAD
cometer). Pero sabes que el tirón que vas a realizar no afecta a frotz.c o
filfre.c, por lo que revierte los cambios de índice para estos dos archivos. Tus cambios en el trabajo
El árbol permanece allí.
4. Luego puede extraer y fusionar, dejando los cambios frotz.cy filfre.c aún en el
árbol de trabajo.

Deshacer una confirmación y rehacer

$ git confirmar...
$ git reset --soft HEAD ^ (1)
$ editar (2)
$ git confirmar -a -c ORIG_HEAD (3)

1. Esto se hace con mayor frecuencia cuando recuerda que lo que acaba de cometer está incompleto,
o escribió mal su mensaje de confirmación, o ambos. Deja el árbol de trabajo como estaba antes
"Reiniciar".
2. Realice correcciones en los archivos del árbol de trabajo.
3. "reset" copia el encabezado antiguo a .git / ORIG_HEAD; rehaga el compromiso comenzando con su
mensaje de registro. Si no necesita editar más el mensaje, puede dar la opción -C
preferiblemente.

Consulte también la opción --amend para compromiso de git(1).

Deshacer una confirmación, convirtiéndola en una rama de tema

$ git branch topic / wip (1)
$ git reset - cabeza dura ~ 3 (2)
$ git tema de pago / wip (3)

1. Ha realizado algunas confirmaciones, pero se da cuenta de que eran prematuras para estar en el "maestro"
rama. Quieres seguir puliéndolos en una rama de tema, así que crea "tema / wip"
bifurcación del HEAD actual.
2. Rebobine la rama maestra para deshacerse de esas tres confirmaciones.
3. Cambie a la rama "topic / wip" y siga trabajando.

Deshacer confirmaciones de forma permanente

$ git confirmar...
$ git reset - cabeza dura ~ 3 (1)

1. Las últimas tres confirmaciones (HEAD, HEAD ^ y HEAD ~ 2) fueron malas y no desea
verlos de nuevo. Hacer No haz esto si ya has dado estos compromisos para
Alguien más. (Consulte la sección "RECUPERACIÓN DEL RECUPERACIÓN ARRIBA" en git-rebase(1) para
las implicaciones de hacerlo.)

Deshacer una combinación o extracción

$ sacar (1)
Nitfol de fusión automática
CONFLICTO (contenido): Fusionar conflicto en nitfol
Error de fusión automática; Arregle los conflictos y luego confirme el resultado.
$ git reset --difícil (2)
$ git pull. tema / rama (3)
Actualizando de 41223 ... a 13134 ...
Avance rápido
$ git reset --hard ORIG_HEAD (4)

1. Intentar actualizar desde el principio resultó en muchos conflictos; no estabas listo
dedicar mucho tiempo a la fusión en este momento, por lo que decide hacerlo más tarde.
2. "pull" no ha hecho que la fusión se confirme, por lo que "git reset --hard", que es un sinónimo de "git
reset --hard HEAD "borra el desorden del archivo de índice y del árbol de trabajo.
3. Fusionar una rama de tema en la rama actual, lo que resultó en un avance rápido.
4. Pero decidió que la rama temática aún no está lista para el consumo público.
"pull" o "merge" siempre deja la punta original de la rama actual en ORIG_HEAD,
por lo que restablecerlo con fuerza trae su archivo de índice y el árbol de trabajo a ese
state y restablece la punta de la rama a ese compromiso.

Deshacer una combinación o tirar dentro de un árbol de trabajo sucio

$ sacar (1)
Nitfol de fusión automática
Fusión realizada por recursiva.
nitfol | 20 +++++ ----
...
$ git reset --merge ORIG_HEAD (2)

1. Incluso si puede tener modificaciones locales en su árbol de trabajo, puede decir con seguridad
"git pull" cuando sabe que el cambio en la otra rama no se superpone con
.
2. Después de inspeccionar el resultado de la fusión, puede encontrar que el cambio en el otro
rama no es satisfactoria. Ejecutar "git reset --hard ORIG_HEAD" te permitirá volver a
donde estaba, pero descartará los cambios locales, que no desea. "git
reset --merge "mantiene sus cambios locales.

Flujo de trabajo interrumpido
Suponga que lo interrumpe una solicitud de reparación urgente mientras se encuentra en medio de una
gran cambio. Los archivos en su árbol de trabajo aún no están en forma para ser comprometidos,
pero necesita ir a la otra rama para una rápida corrección de errores.

$ git checkout feature; # estabas trabajando en la rama "feature" y
$ trabajo trabajo trabajo; # fue interrumpido
$ git commit -a -m "instantánea WIP" (1)
$ git pago maestro
$ arreglar arreglar arreglar
$ git commit; # confirmar con registro real
$ git función de pago
$ git reset --soft HEAD ^; # vuelve al estado WIP (2)
$ git restablecer (3)

1. Esta confirmación quedará impresionado, por lo que un mensaje de registro desechable está bien.
2. Esto elimina el WIP confirmar desde el historial de confirmaciones, y establece su árbol de trabajo en
el estado justo antes de que hicieras esa instantánea.
3. En este punto, el archivo de índice todavía tiene todos los cambios de WIP que comprometió como
instantánea WIP. Esto actualiza el índice para mostrar sus archivos WIP como no confirmados.

Vea también git-alijo(1).

Restablecer un solo archivo en el índice
Suponga que ha agregado un archivo a su índice, pero luego decide que no desea agregar
a su compromiso. Puede eliminar el archivo del índice manteniendo sus cambios
con git reset.

$ git reset - frotz.c (1)
$ git commit -m "Confirmar archivos en el índice" (2)
$ git agregar frotz.c (3)

1. Esto elimina el archivo del índice mientras lo mantiene en el directorio de trabajo.
2. Esto confirma todos los demás cambios en el índice.
3. Agrega el archivo al índice nuevamente.

Mantenga los cambios en el árbol de trabajo mientras descarta algunas confirmaciones anteriores
Suponga que está trabajando en algo y lo compromete, y luego continúa trabajando
un poco más, pero ahora cree que lo que tiene en su árbol de trabajo debería estar en
otra rama que no tiene nada que ver con lo que cometiste anteriormente. Usted puede
inicie una nueva rama y reiníciela mientras mantiene los cambios en su árbol de trabajo.

Inicio de la etiqueta $ git
$ git checkout -b sucursal1
$ editar
$ git confirmar... (1)
$ editar
$ git checkout -b sucursal2 (2)
$ git reset --mantener el inicio (3)

1. Esto confirma sus primeras ediciones en branch1.
2. En el mundo ideal, podría haberse dado cuenta de que la confirmación anterior no pertenecía
al nuevo tema cuando creó y cambió a branch2 (es decir, "git checkout -b
branch2 start "), pero nadie es perfecto.
3. Pero puede usar "reset --keep" para eliminar la confirmación no deseada después de cambiar a
"rama2".

DISCUSIÓN


Las tablas a continuación muestran lo que sucede cuando se ejecuta:

git reset: destino de la opción

para restablecer el HEAD a otro compromiso (objetivo) con las diferentes opciones de restablecimiento dependiendo de
el estado de los archivos.

En estas tablas, A, B, C y D son algunos estados diferentes de un archivo. Por ejemplo, el primero
La línea de la primera tabla significa que si un archivo está en el estado A en el árbol de trabajo, en el estado B
en el índice, en el estado C en HEAD y en el estado D en el destino, luego "git reset --soft
target "dejará el archivo en el árbol de trabajo en el estado A y en el índice en el estado B.
restablece (es decir, mueve) la CABEZA (es decir, la punta de la rama actual, si está en una) para
"target" (que tiene el archivo en estado D).

índice de trabajo HEAD índice de trabajo objetivo HEAD
-------------------------------------------------- -
ABCD - suave ABD
- mixto AÑADIR
- DDD duro
--merge (no permitido)
--keep (no permitido)

índice de trabajo HEAD índice de trabajo objetivo HEAD
-------------------------------------------------- -
ABCC - ABC suave
- ACC mixto
- CCC duro
--merge (no permitido)
- mantener ACC

índice de trabajo HEAD índice de trabajo objetivo HEAD
-------------------------------------------------- -
BBCD - BBD suave
- BDD mezclado
- DDD duro
- fusionar DDD
--keep (no permitido)

índice de trabajo HEAD índice de trabajo objetivo HEAD
-------------------------------------------------- -
BBCC - BBC suave
- BCC mezclado
- CCC duro
- fusionar CCC
- mantener BCC

índice de trabajo HEAD índice de trabajo objetivo HEAD
-------------------------------------------------- -
BCCD - BCD suave
- BDD mezclado
- DDD duro
--merge (no permitido)
--keep (no permitido)

índice de trabajo HEAD índice de trabajo objetivo HEAD
-------------------------------------------------- -
BCCC - suave BCC
- BCC mezclado
- CCC duro
- fusionar BCC
- mantener BCC

"reset --merge" está destinado a utilizarse cuando se restablece una combinación en conflicto. Cualquier mergy
La operación garantiza que el archivo de árbol de trabajo que está involucrado en la fusión no
tener un cambio local en el índice antes de que comience, y que escriba el resultado en el
árbol de trabajo. Entonces, si vemos alguna diferencia entre el índice y el objetivo y también
entre el índice y el árbol de trabajo, entonces significa que no estamos reiniciando desde un
afirman que una operación mergy se fue después de fracasar con un conflicto. Es por eso que rechazamos
- opción de fusión en este caso.

"reset --keep" está destinado a ser utilizado al eliminar algunas de las últimas confirmaciones en el actual
rama mientras se mantienen los cambios en el árbol de trabajo. Si pudiera haber conflictos entre
cambios en el compromiso que queremos eliminar y los cambios en el árbol de trabajo que queremos
mantener, el reinicio no está permitido. Es por eso que no está permitido si hay ambos cambios.
entre el árbol de trabajo y HEAD, y entre HEAD y el objetivo. Para estar seguro, también es
no permitido cuando hay entradas no fusionadas.

Las siguientes tablas muestran lo que sucede cuando hay entradas no fusionadas:

índice de trabajo HEAD índice de trabajo objetivo HEAD
-------------------------------------------------- -
XUAB - suave (no permitido)
- XBB mezclado
- BBB duro
- fusionar BBB
--keep (no permitido)

índice de trabajo HEAD índice de trabajo objetivo HEAD
-------------------------------------------------- -
XUAA - suave (no permitido)
- XAA mezclado
- AAA duro
- fusionar AAA
--keep (no permitido)

X significa cualquier estado y U significa un índice no combinado.

GIT


Parte de los git(1) suite

Use git-reset en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad




×
Anuncio
❤ ️Compre, reserve o adquiera aquí: sin costo, ayuda a mantener los servicios gratuitos.