Minecraft wiki entry for advancement, associated text: advancement (grant|revoke) <targets> everything
Adds or removes all loaded advancements.
advancement (grant|revoke) <targets> only <advancement> [<criterion>]
Adds or removes a single advancement or criterion.
advancement (grant|revoke) <targets> from <advancement>
Adds or removes an advancement and all its children advancements.
Think of specifying everything from that advancement to the end.
The exact order the operation is carried out in is specified advancement > child > child's child > ... When it operates on a child that branches, it iterates through all its children before continuing.
advancement (grant|revoke) <targets> through <advancement>
Specifies an advancement, and adds or removes all its parent advancements, and all its children advancements.
Think of specifying everything through the specified advancement, going both backwards and forwards.
The exact order the operation is as if the command were executed with "until" specified, then with "from" specified: parent > parent's parent > ... > root > specified advancement > child > child's child > ...
advancement (grant|revoke) <targets> until <advancement>
Adds or removes an advancement and all its parent advancements until the root for addition/removal.
Think of specifying everything from the start until that advancement.
The exact order the operation is carried out in is: parent > parent's parent > ... > root > specified advancement.