Est-ce que toutes les commandes git ont une option de fonctionnement à sec?

Toutes les commandes git ont-elles une option –dry-run, ou une option qui indiquerait ce que la commande ferait sans les faire réellement?

Ce ne sont pas toutes les commandes qui appuieraient naturellement une course sèche.

  • git merge a sa propre option ( git merge --no-commit --no-ff )
  • mais git pull n’en a pas vraiment besoin (‘ git fetch origin ‘, puis ‘ git log master..origin/master ‘, avant que git merge origin/master )
    (mais git push a une option de course sèche)

Comme le résume JC Hamano :

Il y a des choses qui ne sont pas implémentées dans git parce qu’elles n’ont pas de sens, et il y a des choses qui ne sont pas implémentées dans git parce que personne ne voulait se gratter.
En d’autres termes, nous avons tendance à ne mettre en œuvre que des choses dont il existe des besoins réels et démontrés, et seulement lorsque l’addition a un sens en tant que partie cohérente du système.


commentaires iboisver :

Une autre chose à prendre en compte est que les commandes comme git add et git rm permettent à l’ option de ligne de commande -n de spécifier une exécution sèche , alors que dans git commit , l’option -n signifie quelque chose de complètement différent.
Donc, assurez-vous de vérifier la page de manuel

git commit -n :

 -n --no-verify 

Cette option contourne les hooks pre-commit et commit-msg. Voir aussi githooks (5) .

Bien qu’il n’y ait pas toujours d’ --dry-run pour chaque commentaire, il existe généralement des équivalents. Par exemple, cette question précédente montre ce qu’il faut faire pour git merge .