En este momento, en lugar de presionar solo cc
en modo magit, tengo que presionar c-vc
cada vez para habilitar --verbose
.
¿Es posible habilitarlo por defecto?
Para empezar v2.1.0
, Magit usa la biblioteca magit-popup.el
para implementar tales "buffers emergentes" o "combos de prefijo-infijo-sufijo". A pesar de su nombre, esa biblioteca puede ser utilizada por paquetes no relacionados con Magit y, por lo tanto, está disponible como un paquete de Elpa separado. ¡Incluso tiene su propio manual ahora!
Los argumentos predeterminados ahora se pueden establecer directamente desde un búfer emergente. Para usar siempre --verbose
cuando se compromete, haga esto:
--verbose
magit-commit-arguments
)Por defecto, todos los buffers emergentes terminan con una sección llamada "Comandos comunes". Si no, úselo C-tpara mostrarlo. Probablemente no desee ver esa sección todo el tiempo y, por lo tanto, debe establecerla magit-popup-show-common-commands
en nil
.
Por supuesto, también es posible establecer el valor de magit-commit-arguments
y otras variables usando la interfaz personalizada setq
, o add-to-list
. Pero recomiendo contra eso, porque eso haría imposible cambiar los valores predeterminados sobre la marcha.
Por lo que puedo decir, Magit no realiza un seguimiento de las opciones "predeterminadas", pero podemos hacer que "presione -v
" cada vez que aparece el búfer de confirmación:
(advice-add #'magit-key-mode-popup-committing :after
(lambda ()
(magit-key-mode-toggle-option (quote committing) "--verbose")))
Para encontrar qué función aconsejar, abrí un magic-status
búfer y presioné C-h k c
. Esto me llevó a magit-key-mode-popup-committing
. Luego (con el tampón Cometer fija visualizada) presioné C-h k -v
para encontrar las lambda
llamadas Magit se forman cuando se pulsa -v
en la ventana de comprometerse.
Actualización: Escribí esta respuesta de forma independiente, pero vea ¿Puedo tener seleccionada inicialmente la opción git-log "--todos"? , la respuesta dada allí y los comentarios a esa respuesta.
En las versiones de magit que usan transitorios (después de febrero de 2019 más o menos), establezca la bandera y luego guarde mientras todavía está en el búfer transitorio.
Entonces, para commit, la secuencia de teclas sería algo así como
Después de eso, la próxima vez que se invoque commit, todavía se establecerá detallado. (No tiene que completar la confirmación y puede salir después de guardar con
C-x C-s
).El valor predeterminado real se guarda en un
transient/
directorio en.emacs.d/
.Consulte el manual transitorio https://magit.vc/manual/transient.html#Saving-Values
fuente
Si bien no es exactamente lo que desea (diff en su búfer de confirmación), puede configurar magit para expandir las diferencias escalonadas en la ventana de estado :
El flujo de trabajo magit parece ser siempre un búfer de estado abierto y luego se abre dividido con el búfer de confirmación, siempre terminas con dos búferes mostrados. La configuración anterior hará que el segundo búfer (anteriormente no útil) muestre su diff.
También puede usar
t
para expandir solo los encabezados diff (para que muestre los números de línea):Mientras escribe su diff, puede cambiar al búfer de estado y usar
TAB
para expandir (o doblar) los diffs.Alternativamente, puede usar
C-c C-d
desde el búfer de confirmación para abrir otro búfer con un diff conmagit-diff-staged
. (Ver este número ).fuente
A partir de la
magit
versión2.1
, puede usar esto en su configuración:fuente
--no-verify
es útil cuando tiene proyectos que usan ganchos git (use con precaución, obviamente).