Volume XXII, number 279Tuesday, October 6, 2026Latest message 34 minutes ago

The Git List

News and archive of git@vger.kernel.org, since April 2005

patch[doc] Use `man git` to teach users how to navigate the docs

7 messages between Sep 28, 2026 and Sep 29, 2026, from Julia Evans via GitGitGadget, Ben Knoble, Junio C Hamano, Julia Evans.

Plain Markdown or JSON for tools and agents. Diffs are folded; open one to read it.

Julia Evans via GitGitGadgetSep 28, 2026, 20:32 UTC on lore
From: Julia Evans <julia@jvns.ca>

Many existing users of Git don't know how Git's documentation is structured, and a lot of folks have expressed frustration that `man git` doesn't make it easy to find out how to get help with using Git.

Explain how Git's help system works in `man git` (`git push -h` gives a short help, `git push --help` is the full docs), since it's a slightly unusual approach.

Remove the references to gittutorial and giteveryday since they're unlikely to help new users learn Git. Currently they feel very aspirational (it would be nice to have a tutorial and a guide to everyday Git commands!), but we should give users a realistic view of what the documentation actually provides.

Mention `git help` instead of `giteveryday` for now, which does a better job of giving an overview of everyday commands.

Also mention `git help --guides` and `git help --user-interfaces`, since those parts of the documentation are useful and hard to discover.

Do not mention `git help --developer-interfaces` since it's not relevant to users.

Signed-off-by: Julia Evans <julia@jvns.ca>
---
    [doc] Use man git to teach users how to navigate the docs
    
    Here's a list of things I'm still considering in the hopes that it'll
    help with the discussion:
    
    I'm not totally satisfied with the description of git help
    --user-interfaces here. It might be clearer to give examples of topics
    those guides cover, like "hooks, .gitignore, and more".
    
    I thought about mentioning git help push and/or man git-push, but (from
    a Mastodon survey I did) git push --help is the one users are most
    familiar with, it's most similar to how other Unix tools work, and it
    makes the description really clear and concise (-h for short help,
    --help for long help).
    
    We just added gitdatamodel here but I took it out because I couldn't
    find a place to put it in the new explanation that felt natural. I do
    think that discoverability of that guide is still an issue and it's
    something that's on my mind. One option in the future to make the guides
    more discoverable would be to feature them more often in Git's advice,
    for example see 'git help mergeconflicts' for a guide to handling merge
    conflicts. Users definitely do read the advice.
    
    Related to the discussion here
    https://lore.kernel.org/git/7004c3b1-2100-4a90-9815-2a679ceb25b2@app.fastmail.com/T/#mf600063180d6239916e3fa6e9d33da86969547ec
    
    ccing Kristoffer who edited this most recently.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2242%2Fjvns%2Fupdate-git-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2242/jvns/update-git-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2242
 Documentation/git.adoc | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)
Show changes to Documentation/git.adoc +12 −10
diff --git a/Documentation/git.adoc b/Documentation/git.adoc
index 6f0075f918..3e886d3e1d 100644
--- a/Documentation/git.adoc
+++ b/Documentation/git.adoc
@@ -22,16 +22,18 @@ Git is a fast, scalable, distributed revision control system with an
 unusually rich command set that provides both high-level operations
 and full access to internals.
 
-See linkgit:gittutorial[7] to get started, then see
-linkgit:giteveryday[7] for a useful minimum set of
-commands.  The link:user-manual.html[Git User's Manual] has a more
-in-depth introduction.  See linkgit:gitdatamodel[7] if you want to
-learn about the data model and important terminology.
-
-After you mastered the basic concepts, you can come back to this
-page to learn what commands Git offers.  You can learn more about
-individual Git commands with "git help command".  linkgit:gitcli[7]
-manual page gives you an overview of the command-line command syntax.
+There are two ways to get help on any Git subcommand (replace "push"
+with the command you want help with):
+
+- `git push -h` for a short help
+- `git push --help` for the full documentation
+
+There are also guides explaining Git's concepts and more:
+
+- `git help` shows the most frequently used Git subcommands
+- `git help --guides` lists Git's concept guides
+- `git help --user-interfaces` lists guides for various
+  special files you can use to change Git's behaviour
 
 A formatted and hyperlinked copy of the latest Git documentation
 can be viewed at https://git.github.io/htmldocs/git.html

base-commit: 0f8e75abebff0877cae681a3d5ff31ac47f54220
-- 
gitgitgadget
Ben KnobleSep 28, 2026, 21:02 UTC in reply to Julia Evans via GitGitGadget on lore

Re: [PATCH] [doc] Use `man git` to teach users how to navigate the docs

Show 11 quoted lines
> Le 28 sept. 2026 à 16:33, Julia Evans via GitGitGadget <gitgitgadget@gmail.com> a écrit :
> 
> From: Julia Evans <julia@jvns.ca>
> 
> Many existing users of Git don't know how Git's documentation is
> structured, and a lot of folks have expressed frustration that `man git`
> doesn't make it easy to find out how to get help with using Git.
> 
> Explain how Git's help system works in `man git`
> (`git push -h` gives a short help, `git push --help` is the full docs),
> since it's a slightly unusual approach.
[snip]
> Mention `git help` instead of `giteveryday` for now, which does a better
> job of giving an overview of everyday commands.
[snip]
Show 5 quoted lines
>    I thought about mentioning git help push and/or man git-push, but (from
>    a Mastodon survey I did) git push --help is the one users are most
>    familiar with, it's most similar to how other Unix tools work, and it
>    makes the description really clear and concise (-h for short help,
>    --help for long help).

I appreciate the concision. I think “git help cmd” is quite a bit more useful than “git cmd --help” because the former supports aliases, HTML formats, and various other documents. I don’t know how to fit that in with what you already proposed, though; I doubt that mentioning bare “git help” will push anyone towards its manual to discover “git help cmd”, although the bottom of the help output mentions it as a possibility.

[Unrelated] One thing I think Git is really missing is easy access to the stuff in “git --html-path”. I have a custom script for that, but AFAICT even “git help” in web mode can’t open all of it.

Junio C HamanoSep 29, 2026, 02:00 UTC in reply to Ben Knoble on lore

Re: [PATCH] [doc] Use `man git` to teach users how to navigate the docs

Ben Knoble <ben.knoble@gmail.com> writes:
Show 11 quoted lines
>> Mention `git help` instead of `giteveryday` for now, which does a better
>> job of giving an overview of everyday commands.
>
> [snip]
>
>>    I thought about mentioning git help push and/or man git-push, but (from
>>    a Mastodon survey I did) git push --help is the one users are most
>>    familiar with, it's most similar to how other Unix tools work, and it
>>    makes the description really clear and concise (-h for short help,
>>    --help for long help).
> I appreciate the concision.

The survey result that says the users are more familiar with "git cmd --help" merely tells us that they are not taking full advantage of what they are offered ;-).

> I think “git help cmd” is quite a bit more
> useful than “git cmd --help” because the former supports
> aliases, HTML formats, and various other documents.

I agree that "git help cmd/concept/guide" is more useful for all these reasons, with "git help help".

Julia EvansSep 29, 2026, 11:29 UTC in reply to Junio C Hamano on lore

Re: [PATCH] [doc] Use `man git` to teach users how to navigate the docs

> The survey result that says the users are more familiar with "git
> cmd --help" merely tells us that they are not taking full advantage
> of what they are offered ;-).
>> I think “git help cmd” is quite a bit more
>> useful than “git cmd --help” because the former supports
>> aliases, HTML formats, and various other documents.

Viewing the HTML docs with `git help` does seem very useful, especially for folks who aren't as comfortable in the terminal. I had no idea you could do that.

Perhaps we could mention `git help` like this:
> `git push --help` or `git help push` for the full documentation

and then advertise the superior features of `git help` like this (in the last sentence of the DESCRIPTION).

> You can view an HTML version of the Git documentation at
> https://git-scm.com/docs, or on your computer with `git help`,
> for example `git help push --web`.
Junio C HamanoSep 29, 2026, 19:51 UTC in reply to Julia Evans on lore

Re: [PATCH] [doc] Use `man git` to teach users how to navigate the docs

"Julia Evans" <julia@jvns.ca> writes:
Show 6 quoted lines
> Perhaps we could mention `git help` like this:
>
>> `git push --help` or `git help push` for the full documentation
>
> and then advertise the superior features of `git help` like this
> (in the last sentence of the DESCRIPTION).
Amusingly
$ git help tutorial

begins with "man git-log" and "git help log". The first one is so old fashioned ;-) Perhaps a more modern version should be given at the very first part of the description section of

$ git help git
>> You can view an HTML version of the Git documentation at
>> https://git-scm.com/docs, or on your computer with `git help`,
>> for example `git help push --web`.
Please write it as "git help --web push".

The command line parser may be lenient at times, but we do not guarantee it. Please stick to published "git help cli" style in your insturction materials.

Julia EvansSep 29, 2026, 21:00 UTC in reply to Junio C Hamano on lore

Re: [PATCH] [doc] Use `man git` to teach users how to navigate the docs

On Tue, Sep 29, 2026, at 3:51 PM, Junio C Hamano wrote:
Show 15 quoted lines
> "Julia Evans" <julia@jvns.ca> writes:
>
>> Perhaps we could mention `git help` like this:
>>
>>> `git push --help` or `git help push` for the full documentation
>>
>> and then advertise the superior features of `git help` like this
>> (in the last sentence of the DESCRIPTION).
>
> Amusingly
>
> $ git help tutorial
>
> begins with "man git-log" and "git help log".  The first one is so
> old fashioned ;-) 
I still only use `man git-log` actually :)
Show 5 quoted lines
> Perhaps a more modern version should be given at
> the very first part of the description section of
>
> $ git help git
> 

Will submit a v2 with the wording I suggested above (since I think that's "a more modern version" of what `git help tutorial` says)

Show 5 quoted lines
>>> You can view an HTML version of the Git documentation at
>>> https://git-scm.com/docs, or on your computer with `git help`,
>>> for example `git help push --web`.
>
> Please write it as "git help --web push".
Will do.
> The command line parser may be lenient at times, but we do not
> guarantee it.  Please stick to published "git help cli" style in
> your insturction materials.

I tried to read `git help cli`, got extremely confused, and gave up so I'm not sure what that style is but I'm always happy to be corrected if there's a different preferred style :)

I do always test Git commands to make sure they work.
Junio C HamanoSep 29, 2026, 21:20 UTC in reply to Julia Evans on lore

Re: [PATCH] [doc] Use `man git` to teach users how to navigate the docs

"Julia Evans" <julia@jvns.ca> writes:
> I tried to read `git help cli`, got extremely confused, and gave up so I'm
> not sure what that style is but I'm always happy to be corrected if there's
> a different preferred style :)
"Options come first and then args." appears very early.

Back to recent threads

[PATCH] [doc] Use `man git` to teach users how to navigate the docs | The Git List