¿Todos los comandos de git tienen una opción --dry-run, o una que indique lo que haría el comando sin hacerlos realmente?
Naturalmente, no todos los comandos admitirían una ejecución en seco directamente.
git merge --no-commit --no-ff
)git fetch origin
', luego a ' git log master..origin/master
', antes de a git merge origin/master
) git push
tiene 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 add
ygit rm
permiten que la-n
opción de línea de comandos especifique ejecución en seco , mientras que engit commit
, la-n
opció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) .
git-add
ygit-rm
permiten que la opción -n de la línea de comandos especifique la ejecución en seco, mientras que engit-commit
, la opción -n significa algo completamente diferente. Así que asegúrese de consultar la página del manual.Si bien no siempre hay una
--dry-run
bandera para cada comentario, generalmente hay equivalentes. Por ejemplo, esta pregunta anterior muestra qué hacergit merge
.fuente
rebase
, por ejemplo.