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

vfc*_*sts 72 git

是否所有git命令都有--dry-run选项,或者指示命令在没有实际执行的情况下执行的操作?

Von*_*onC 69

并非每个命令都能直接支持干跑.

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

正如JC Hamano总结:

有些东西没有在git中实现,因为它们没有意义,并且有些东西没有在git中实现,因为没有人可以搔痒.
换句话说,我们倾向于只实现现实世界中存在的实际需要的东西,并且只有当添加作为系统的连贯部分时才有意义.


iboisver评论:

另外一点需要注意的是,命令,如中git addgit rm允许的-n命令行选项来指定排练,而在git commit中,-n选项意味着完全不同的东西.
所以一定要查看手册页

git commit -n:

-n
--no-verify
Run Code Online (Sandbox Code Playgroud)

此选项绕过pre-commit和commit-msg挂钩.另见githooks(5).

  • 另一件需要注意的事情是,像`git-add`和`git-rm`这样的命令允许_-n_命令行选项指定干运行,而在`git-commit`中,_-n_选项意味着什么完全不同.所以一定要查看手册页. (2认同)

Amb*_*ber 11

虽然--dry-run每个评论并不总是有一个标志,但通常有等价物.例如,此前一个问题显示了该怎么做git merge.