Git 2.x 更新(2017 年 6 月,Git 2.13.1)
你还没有男人:
> git -c help.format=man help add
warning: failed to exec 'man': No such file or directory
fatal: no man viewer handled the request
git <verb> --help 也一样。
git <verb> -h 不打印手册页,只打印简短的用法部分(与 man 无关)
在 Git 2.34(2021 年第四季度)中,当 git cmd -h 显示多行使用文本(例如 cmd 子命令可能需要子子命令)时,parse-options API 学会了对齐这些行,即使跨 @ 987654321@/l10n.
参见commit 4631cfc(2021 年 9 月 21 日)和 commit 84122ec、commit 78a5091、commit 5d70198(2021 年 9 月 13 日)Ævar Arnfjörð Bjarmason (avar)。
(由 @987654329 中的 Junio C Hamano -- gitster -- 合并@,2021 年 10 月 13 日)
签字人:Ævar Arnfjörð Bjarmason
一些命令,例如“git stash”(man) 发出连续的选项输出,例如git stash -h,因为 usage_with_options_internal() 以自己的空格作为前缀,所以结果输出没有正确对齐。
让我们考虑添加的空格,它可以正确对齐输出。
“git stash”命令的用法输出带有 N_() 翻译,合法地跨越多行;
N_("git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]\n"
" [-u|--include-untracked] [-a|--all] [-m|--message <message>]\n"
[...]
我们希望该输出与初始“git stash”输出的长度保持一致,但由于usage_with_options_internal() 添加了自己的空白前缀,我们未能完成,在此更改之前我们会发出:
$ git stash -h
usage: git stash list [<options>]
or: git stash show [<options>] [<stash>]
[...]
or: git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
[-u|--include-untracked] [-a|--all] [-m|--message <message>]
[...]
现在我们将正确地发出对齐的输出。
即
上面的最后四行将改为(对上面的仅空格更改):
[...]
or: git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
[-u|--include-untracked] [-a|--all] [-m|--message <message>]
[...]
此更改相对而言更为复杂,因为我已考虑使其能够在未来得到 RTL 翻译支持。
后来在usage_with_options_internal() 我们有一些现有的填充代码可以追溯到d7a38c5 ("parse-options: 能够自动生成用法", 2007-10-15, Git v1.5.4-rc0 -- merge) 其中不是 RTL 安全的,但该代码很容易修复。
这里就不介绍新的 RTL 翻译问题了。
原始答案(2014 年)
不,尽管“how do I get git to show command-line help in windows?”中建议了基于 htlp txt 文件的“猫”的替代方案。
man.<tool>.cmd config 于 2008 年推出,允许设置自定义命令,但 msys shell 未附带man.exe。