「man git init」はどのようにして正しいmanページを取得しますか?


52

したがってman git init、Ubuntu 14.04システムでbashプロンプトに入力すると、と同じように見えますが、man git-initどうすればよいのかよくわかりません。

(つまり)のmanページは、マニュアルの一部である場合を除き、この構成を許可していないようですが、manページはsectionから来ているようです。manman mangitsection1

これは文書化されていない使用法によってサポートされていmanますか?のドキュメントを誤解していmanませんか?他の魔法が起こっていますか?説明したい人はいますか?


git-initが単なるラッパーのように表示されますgit init
Jeff Schaller

回答:


71

manUbuntuで使用されているものを含むの一部の実装では、検索語のスペースをハイフンに置き換え、その名前のマニュアルページを見つけようとします。だから、man git init同じものを探しますman git-init。同様に、man run partsそしてman ntfs 3g仕事(あなたが持っている場合run-partsntfs-3g、システム上)。

ただし、これman git annex syncは単語のペアでのみ行われるため、機能しません(ただしman git-annex sync、やはり単語のペアなので)。

実際、2つのマニュアルページ(たとえば、man git bashgitとbashの両方のマンページmanを表示する)を要求すると、実際には最初にマンページを検索しようとしますgit-bash。で有効にすると、デバッグ出力でこれを確認できます-d

このman機能は「サブページ」と呼ばれ、man-dbにサブページを実装するソースコードを読むことができます(ありがとう、Stephen Kitt)。「サブページ」のman(1)マンページを検索すると、--no-subpagesオプションの下にこの動作の説明が表示されます。

--no-subpages
      By default, man will try to interpret pairs of manual page
      names given on the command line as equivalent to a single
      manual page name containing a hyphen or an underscore.  This
      supports the common pattern of programs that implement a
      number of subcommands, allowing them to provide manual pages
      for each that can be accessed using similar syntax as would be
      used to invoke the subcommands themselves.  For example:

        $ man -aw git diff
        /usr/share/man/man1/git-diff.1.gz

      To disable this behaviour, use the --no-subpages option.

        $ man -aw --no-subpages git diff
        /usr/share/man/man1/git.1.gz
        /usr/share/man/man3/Git.3pm.gz
        /usr/share/man/man1/diff.1.gz

これはCentOS 6.6では機能しないようです。Ubuntuのみですか?
ワイルドカード

1
@Wildcardどの部分が機能していないようですか?CentOSがman-dbを使用しており(他のman実装がある)、サブページが無効になっていない限り(たとえばwithで--no-subpages)動作するはずです。私はDebianを使用しているので、間違いなくUbuntuだけではありません。
デロバート

2
重要なことは、これがの特定の実装に固有であることですman。それは決して普遍的でも特別な共通でもありません。
chepner
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.