Cuando está en la ventana de estado del complemento fugitivo , al que se accede usando , es posible diferenciar los cambios para un archivo usando y alternar archivos para confirmar usando .:Gstatus
D-
¿Hay algún atajo similar para descartar cambios, con el descarte me refiero al equivalente de git checkout -- filename
?
Actualizar:
Se encontró una solicitud de función en la página de github de fugitivos Problema # 97: acceso directo para retirar / eliminar archivos
De acuerdo con eso, la forma preferida es usar :Gread
:w
Actualización 2:
Desde junio de 2014 es posible usar Usegún lo respondido por Anson a continuación .
Actualización 3: desde el 3 de enero de 2019, la combinación de teclas está asignada aX
X
Puede usar el comando fugitivo
Gread
para reemplazar el contenido de un búfer con varias versiones alternativas del archivo del búfer (es decir, esto debe hacerse desde el búfer de un archivo, no desde el:Gstatus
búfer).:Gread
(sin argumento) usará la versión del archivo del índice † .:Gread -
utilizará la versión del archivo de la confirmación HEAD.Consulte la documentación en
:help fugitive-revision
para obtener una lista de otras especificaciones de revisión que admite fugitivos (las dos anteriores son probablemente las más útiles de inmediato).El
:Gread
flujo de trabajo procede así::Gread
:w
para guardar el archivo en el árbol de trabajo (o usarlo:Gread|w
si sabe que querrá guardarlo de inmediato).El
:Git checkout -- %
flujo de trabajo procede así::Git checkout -- %
Resumen:
:Gread
evita que aparezca el mensaje "el archivo ha cambiado desde que comenzó la edición" y le permite decidir cuándo desea modificar el archivo en el árbol de trabajo.† Cuando el búfer representa una etapa de índice del archivo en lugar del archivo del árbol de trabajo,
:Gread
lee el contenido del archivo tal como existe en el disco en el árbol de trabajo en lugar de la etapa 0 del índice.fuente
au FileType gitcommit nmap <buffer> U :Git checkout -- <c-r><c-g><cr>
Mapeo de gstatus para revertir el archivo:
fuente
:help autoread
). Aparte de lo que podríasbufdo e
dentro de arribaau
.Bueno, ¿lo intentaste
:help fugitive
?Aparentemente no, no hay atajos para esta función de Git.
fuente
:call
pero que no tenía un comando asociado. No recuerdo el nombre del complemento ... ¿Alinear? Lo que sea, mi opinión es que uno debería leer los documentos antes de preguntar. Lo que hiciste. Eso es genial. Pero el segundo paso lógico, después de leer los documentos, sería IMO para mirar la fuente del complemento y ver si hay alguna función útil allí. Que deberías hacer. Pero, AFAIK, fugitivo no se ocupagit checkout
en absoluto, por lo que sus posibilidades son escasas. Probablemente deba recurrir a:!git checkout -- filename
.:Git checkout -- %
.Aunque no tiene nada que ver con vim, pensé en decirte que a veces lo hago:
terminando el trabajo rápidamente.
fuente