如何将--help参数传递给Git扩展命令?
Git 扩展命令
--help 参数透传解决方案 你遇到的问题根源是 Git 会优先拦截 --help 全局选项,在判定当前命令为第三方扩展命令之前,就触发内置的帮助文档拉起逻辑,不会把参数透传给扩展命令本身,以下是可行的解决方法:
全局别名配置方案(最常用,无侵入调用)
给扩展命令配置带!前缀的全局别名,强制 Git 跳过内置参数解析直接透传所有参数,针对git-foo执行以下配置命令即可:git config --global alias.foo '!git-foo'配置完成后执行
git foo --help,--help参数会直接交给git-foo程序本身处理,不会触发 Git 自带的 HTML 帮助拉起逻辑。直接调用二进制方案(临时使用无需配置)
不通过 Git 命令前缀调用,直接执行完整的扩展命令名git-foo --help,完全绕开 Git 的命令解析层,所有参数都会直接传给扩展程序处理。补充man手册方案(适配Git默认逻辑)
Git 触发--help逻辑后报错,本质是找不到扩展命令对应的man文档,如果你给git-foo添加符合命名规范的man页(命名为git-foo.1并存放到系统man搜索路径),Git调用--help时会正常打开man文档而不会报错。如果你明确需要把--help的处理权交给扩展命令本身,优先使用第一种别名方案。
内容的提问来源于stack exchange,提问作者Zachary Turner
相关产品推荐
相关产品推荐

