Subject: Re: de-alphabetizing the documentation

From: [email-masked]
Date: Fri, 6 Jul 2018 16:21:47 -0700

Thank you Jonathan for signaling your willingness to adopt the
documentation philosophy I suggested. That's a quite valuable first
step. Unfortunately my contribution will have to be limited for the
moment to making this suggestion, as I am extraordinarily busy. I hope
it will not be too burdensome to add this item to your TODO list and
keep it there until a willing volunteer comes along.

For what it's worth, I made extensive changes to the Arch Wiki Git
article back in 2015, following an initial attempt of mine to
understand various tutorials. It was the most prominent wiki-based Git
documentation I could find at the time. The article has of course seen
numerous improvements since then.

I don't think that it's really important to find a "best" ordering for
commands or glossary terms; it's more a matter of finding someone who
is willing to take responsibility for choosing a reasonable ordering.
Presumably the head maintainer of this project could delegate the task
to a qualified volunteer, not a newbie like myself but not necessarily
someone with expert knowledge either. It's too bad that a policy of
not listing things alphabetically wasn't adopted from the beginning of
this project, but I guess that's life.

Thanks Eric for the pointer to "git help". This does indeed provide a
finer and better grouping than the man-page (but it also looks like
another candidate for de-alphabetization...!).

Many thanks,

Frederick

On Fri, Jul 06, 2018 at 02:18:28PM -0700, Jonathan Nieder wrote:
> Jonathan Nieder wrote:
> 
> > 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.
> 
> I meant to link to webchat.freenode.net.  But
> https://kiwiirc.com/nextclient/ may have been a better link to use
> anyway.
> 
> Thanks and sorry for the noise,
> Jonathan
> 

On Fri, Jul 06, 2018 at 05:32:39PM -0400, Eric Sunshine wrote:
> On Fri, Jul 06, 2018 at 02:16:00PM -0700, Jonathan Nieder wrote:
> > Frederick Eaton wrote:
> > > 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,
> > 
> > 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.
> 
> "git help" makes some attempt at narrowing the list of porcelain
> commands likely to be used on an everyday basis (and it categorizes
> the list by general activity). Of the 21 commands listed, I use 14-16
> in pretty much every development session, so "git help" might be a
> good starting place for someone trying to figure out which commands to
> study, or for someone wishing to help focus the documentation a bit
> more for beginners.
> 
> --- >8 ---
> $ git help
> usage: git ...
> 
> These are common Git commands used in various situations:
> 
> start a working area (see also: git help tutorial)
>    clone      Clone a repository into a new directory
>    init       Create an empty Git repository or reinitialize an existing one
> 
> work on the current change (see also: git help everyday)
>    add        Add file contents to the index
>    mv         Move or rename a file, a directory, or a symlink
>    reset      Reset current HEAD to the specified state
>    rm         Remove files from the working tree and from the index
> 
> examine the history and state (see also: git help revisions)
>    bisect     Use binary search to find the commit that introduced a bug
>    grep       Print lines matching a pattern
>    log        Show commit logs
>    show       Show various types of objects
>    status     Show the working tree status
> 
> grow, mark and tweak your common history
>    branch     List, create, or delete branches
>    checkout   Switch branches or restore working tree files
>    commit     Record changes to the repository
>    diff       Show changes between commits, commit and working tree, etc
>    merge      Join two or more development histories together
>    rebase     Reapply commits on top of another base tip
>    tag        Create, list, delete or verify a tag object signed with GPG
> 
> collaborate (see also: git help workflows)
>    fetch      Download objects and refs from another repository
>    pull       Fetch from and integrate with another repository or a local branch
>    push       Update remote refs along with associated objects
> 
> 'git help -a' and 'git help -g' list available subcommands and some
> concept guides. See 'git help <command>' or 'git help <concept>'
> to read about a specific subcommand or concept.
> --- >8 ---
>