所有的git命令都有一个干运行选项吗?

是否所有的git命令都有一个–dry-run选项,或者是一个能够指示命令执行什么而不实际执行的选项?

并不是每一个命令都会直接支持空转。

  • git merge有自己的select ( git merge --no-commit --no-ff
  • 但是git pull并不是真的需要它 (' git fetch origin ',然后是一个' git log master..origin/master ',在git merge origin/master
    (但是git push有一个干运行选项)

正如JC Hamano总结的那样 :

有些东西在git中没有实现,因为它们没有任何意义,而且有些东西在git中没有实现,因为没有人可以从头开始。
换句话说,我们倾向于只实施从现实世界中存在实际的,被证实的需求的东西,只有当加法作为系统的连贯部分才有意义。


iboisver评论:

另外需要注意的是,像git addgit rm这样的命令允许-n命令行选项指定空运行 ,而在git commit-n选项意味着完全不同的东西。
所以一定要检查手册页

git commit -n

 -n --no-verify 

这个选项绕过预先提交和提交msg钩子。 另见githooks(5) 。

虽然每个评论并不总是有一个“ --dry-run标志,但通常都是等值的。 例如, 这个前面的问题显示了为git merge做什么。