在安装 git-flow 时,我意识到它只是将文件放在 /usr/local/bin 中,主要是可执行文件 git-flow,我可以通过运行来调用脚本 git-flow git flow
(中间没有破折号)。然后我意识到它与 git-svn 以及命令运行的地方是相同的git svn
。
我是否忽略了一些基本的东西,或者它git
本身是否真的以某种方式委派了命令?
git
二进制文件会记住安装虚线可执行文件的目录git-svn
。它是在 git 安装期间设置的,或者更准确地说是在构建阶段设置(这就是为什么您需要使用相同的选项编译和安装)。
你可以找到这个目录git --exec-path
$ git --exec-path
/usr/libexec/git-core
(以上为Linux系统安装)。
该git svn
命令(不是内置的)调用git
包装器,它找到git-svn
二进制文件并执行它。
注意:一些虚线的可执行文件,对应于内置命令,如git-tag
,硬链接到git
可执行文件。调用这些只是调用适当的(子)命令。