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

de-alphabetizing the documentation

From
Ffrederik@ofb.net <frederik@ofb.net>
Date
Jul 6, 2018, 20:04 UTC
Message-ID
<20180706200423.GC6343@ofb.net>
Dear Git Developers,

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 know that 'gittutorial' exists, and I've indeed worked through it and some other Git tutorials. However, these are more like lists of examples that should come at the end of a typical manual page. I don't think they are intended as canonical references for the program functionality. At some point I would like to use the main 'git' manual page as my primary source of documentation. This would be easier if it were designed to be read straight through.

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, or in the reverse order of frequency of use by a typical Git user. This could easily be derived from the shell history of someone who is reading this.

    (cat ~/.bash_history; cut -d ";" -f 2 ~/.zsh_history) | grep '^git ' | cut -d ' ' -f 2 | sort | uniq -c | sort -nr

I would like to have this list for personal use, but once it is created, perhaps someone could also add it to the main Git man page. The list could be added at the top of the "GIT COMMANDS" section. Alternatively, and I think preferably, the entries in that section could be rearranged into this order.

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.

I'm not sure why alphabetical order was decided upon, but it seems less than useful in the information age, when people can easily search for text electronically. Maybe at some point someone decided to "clean up" the presentation by alphabetizing the manual page. As a user who is more concerned with substance, it is annoying to encounter such an emphasis on the superficial, which seems unworthy of such an important piece of software.

Thank you,
Frederick Eaton
Next: Jonathan Nieder
Message 1 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.