git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: de-alphabetizing the documentation

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jul 6, 2018, 21:16 UTC
Message-ID
<20180706211600.GB6195@aiede.svl.corp.google.com>
In-Reply-To
<20180706200423.GC6343@ofb.net>
Hi Frederick,
Frederick Eaton wrote:
Show 6 quoted lines
> I am trying to learn how to use Git but I've been put off by not
> knowing where to start. I would like to start with the 'git' man page,
> but it lists the Git subcommands in alphabetical order, rather than in
> an order which would be useful for learners. For example, I'm not sure
> how often 'git bisect' is used, but it is strange to see it listed
> before 'git init' and 'git clone'.
[...]
> I wonder if someone familiar with Git could list the commands in an
> order which makes more sense for learning, for example in the order in
> which they were invented by Git developers,
That doesn't seem like a useful order pedagogically, but
>                                             or in the reverse order of
> frequency of use by a typical Git user.
That does.
Currently the commands are already broken into a few categories:
  High-level commands
    Main porcelain commands
    Ancillary commands
    Interacting with others
  Low-level commands
    Manipulation commands
    Interrogation commands
    Synching repositories
    Internal helper commands

While it's alphabetical within each section, overall it is not alphabetical at all!

Alas, there are plenty of "Main porcelain commands", and I think that is where your question comes from. It would be nicer to list just five to start, say.

Some of the most thoughtful documentation that comes with Git is at https://www.kernel.org/pub/software/scm/git/docs/user-manual.html. It might be useful for inspiration.

Ideas? If you start with a proposal, we're happy to help refine it. People in the #git channel on irc.freenode.net (wechat.freenode.net) might also be useful for inspiration in coming up with a proposal.

Each of us have our weaknesses for this kind of work: you're telling me you're too new to have a sense of which commands are the first a person would need to learn (and I have no reason to doubt you), while many on this list would have the opposite problem of taking too much for granted and not being able to put themselves in the mind of a newcomer. So we'll have to help each other.

tl/dr: if you come up with a proposed "first commands to learn" category with some proposed commands to go in it, we'll be happy to help you with the next steps.

[...]
> Finally, perhaps the same listing and/or reordering could be done for
> other important manual pages, like 'gitglossary'. Presumably
> 'gitglossary' should be sorted topologically, so that each term is
> defined prior to any terms depending on it.

Your help is welcome here as well. Probably a similar kind of categorization, with entries ordered either alphabetically or according to some narrative in each section, would be the easiest to maintain over time.

Thanks, Jonathan

Previous: frederik@ofb.netNext: Jonathan Nieder
Message 2 of 17 in “de-alphabetizing the documentation”
  1. frederik@ofb.netJul 6, 2018
  2. Jonathan NiederJul 6, 2018
  3. Jonathan NiederJul 6, 2018
  4. Eric SunshineJul 6, 2018
  5. frederik@ofb.netJul 6, 2018
  6. Jonathan NiederJul 6, 2018
  7. frederik@ofb.netJul 8, 2018
  8. frederik@ofb.netJul 24, 2018
  9. Jonathan NiederJul 24, 2018
  10. frederik@ofb.netAug 11, 2018
  11. Junio C HamanoAug 13, 2018
  12. 0/1 de-alphabetize command listFrederick Eaton, Feb 19, 2019
  13. frederik@ofb.netFeb 21, 2019
  14. frederik@ofb.netMar 11, 2019
  15. Jacob KellerMar 11, 2019
  16. Prioritize list of commands appearing in git(1), via command-list.txt. Don't invoke 'sort' in Documentation/cmd-list.perl.Frederick Eaton, Feb 19, 2019
  17. Theodore Y. Ts'oJul 7, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.