¿Todos los comandos de git tienen una opción de ejecución en seco?


81

¿Todos los comandos de git tienen una opción --dry-run, o una que indique lo que haría el comando sin hacerlos realmente?

Respuestas:


75

Naturalmente, no todos los comandos admitirían una ejecución en seco directamente.

  • git merge tiene su propia opción ( git merge --no-commit --no-ff)
  • pero git pull realmente no lo necesita (' git fetch origin', luego a ' git log master..origin/master', antes de a git merge origin/master)
    (pero git pushtiene una opción de ejecución en seco)

Como resume JC Hamano :

Hay cosas que no se implementan en git porque no tienen sentido, y hay cosas que no se implementan en git porque nadie tenía ganas de rascar.
Para decirlo de otra manera, tendemos a implementar solo cosas para las que existen necesidades reales y demostradas del mundo real y solo cuando la adición tiene sentido como una parte coherente del sistema.


iboisver comenta:

Otra cosa a tener en cuenta es que a los comandos les gusta git addy git rmpermiten que la -nopción de línea de comandos especifique ejecución en seco , mientras que en git commit, la -nopción significa algo completamente diferente.
Así que asegúrese de consultar la página del manual

git commit -n:

-n
--no-verify

Esta opción omite los ganchos pre-commit y commit-msg. Consulte también githooks (5) .


2
Otra cosa a tener en cuenta es que los comandos como git-addy git-rmpermiten que la opción -n de la línea de comandos especifique la ejecución en seco, mientras que en git-commit, la opción -n significa algo completamente diferente. Así que asegúrese de consultar la página del manual.
iboisver

1
@iboisver comentarios interesantes, gracias. He incluido su comentario en la respuesta para mayor visibilidad.
VonC

Hubiera querido --dry-run en "git stash", especialmente al presionar un directorio "git stash push - / dir"
Gaurang Patel

@GaurangPatel de acuerdo. Eso se discutió en 2017 aquí: public-inbox.org/git/…
VonC

13

Si bien no siempre hay una --dry-runbandera para cada comentario, generalmente hay equivalentes. Por ejemplo, esta pregunta anterior muestra qué hacer git merge.


no hay ninguno para rebase, por ejemplo.
gcb
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.