119625d8cSopenharmony_ciGit is an example of several common subcommand patterns. 219625d8cSopenharmony_ci 319625d8cSopenharmony_ciHelp: 419625d8cSopenharmony_ci```console 519625d8cSopenharmony_ci$ git 619625d8cSopenharmony_ci? failed 719625d8cSopenharmony_ciA fictional versioning CLI 819625d8cSopenharmony_ci 919625d8cSopenharmony_ciUsage: git[EXE] <COMMAND> 1019625d8cSopenharmony_ci 1119625d8cSopenharmony_ciCommands: 1219625d8cSopenharmony_ci clone Clones repos 1319625d8cSopenharmony_ci diff Compare two commits 1419625d8cSopenharmony_ci push pushes things 1519625d8cSopenharmony_ci add adds things 1619625d8cSopenharmony_ci stash 1719625d8cSopenharmony_ci help Print this message or the help of the given subcommand(s) 1819625d8cSopenharmony_ci 1919625d8cSopenharmony_ciOptions: 2019625d8cSopenharmony_ci -h, --help Print help 2119625d8cSopenharmony_ci 2219625d8cSopenharmony_ci$ git help 2319625d8cSopenharmony_ciA fictional versioning CLI 2419625d8cSopenharmony_ci 2519625d8cSopenharmony_ciUsage: git[EXE] <COMMAND> 2619625d8cSopenharmony_ci 2719625d8cSopenharmony_ciCommands: 2819625d8cSopenharmony_ci clone Clones repos 2919625d8cSopenharmony_ci diff Compare two commits 3019625d8cSopenharmony_ci push pushes things 3119625d8cSopenharmony_ci add adds things 3219625d8cSopenharmony_ci stash 3319625d8cSopenharmony_ci help Print this message or the help of the given subcommand(s) 3419625d8cSopenharmony_ci 3519625d8cSopenharmony_ciOptions: 3619625d8cSopenharmony_ci -h, --help Print help 3719625d8cSopenharmony_ci 3819625d8cSopenharmony_ci$ git help add 3919625d8cSopenharmony_ciadds things 4019625d8cSopenharmony_ci 4119625d8cSopenharmony_ciUsage: git[EXE] add <PATH>... 4219625d8cSopenharmony_ci 4319625d8cSopenharmony_ciArguments: 4419625d8cSopenharmony_ci <PATH>... Stuff to add 4519625d8cSopenharmony_ci 4619625d8cSopenharmony_ciOptions: 4719625d8cSopenharmony_ci -h, --help Print help 4819625d8cSopenharmony_ci 4919625d8cSopenharmony_ci``` 5019625d8cSopenharmony_ci 5119625d8cSopenharmony_ciA basic argument: 5219625d8cSopenharmony_ci```console 5319625d8cSopenharmony_ci$ git add 5419625d8cSopenharmony_ci? failed 5519625d8cSopenharmony_ciadds things 5619625d8cSopenharmony_ci 5719625d8cSopenharmony_ciUsage: git[EXE] add <PATH>... 5819625d8cSopenharmony_ci 5919625d8cSopenharmony_ciArguments: 6019625d8cSopenharmony_ci <PATH>... Stuff to add 6119625d8cSopenharmony_ci 6219625d8cSopenharmony_ciOptions: 6319625d8cSopenharmony_ci -h, --help Print help 6419625d8cSopenharmony_ci 6519625d8cSopenharmony_ci$ git add Cargo.toml Cargo.lock 6619625d8cSopenharmony_ciAdding ["Cargo.toml", "Cargo.lock"] 6719625d8cSopenharmony_ci 6819625d8cSopenharmony_ci``` 6919625d8cSopenharmony_ci 7019625d8cSopenharmony_ciDefault subcommand: 7119625d8cSopenharmony_ci```console 7219625d8cSopenharmony_ci$ git stash -h 7319625d8cSopenharmony_ciUsage: git[EXE] stash [OPTIONS] 7419625d8cSopenharmony_ci git[EXE] stash <COMMAND> 7519625d8cSopenharmony_ci 7619625d8cSopenharmony_ciCommands: 7719625d8cSopenharmony_ci push 7819625d8cSopenharmony_ci pop 7919625d8cSopenharmony_ci apply 8019625d8cSopenharmony_ci help Print this message or the help of the given subcommand(s) 8119625d8cSopenharmony_ci 8219625d8cSopenharmony_ciOptions: 8319625d8cSopenharmony_ci -m, --message <MESSAGE> 8419625d8cSopenharmony_ci -h, --help Print help 8519625d8cSopenharmony_ci 8619625d8cSopenharmony_ci$ git stash push -h 8719625d8cSopenharmony_ciUsage: git[EXE] stash push [OPTIONS] 8819625d8cSopenharmony_ci 8919625d8cSopenharmony_ciOptions: 9019625d8cSopenharmony_ci -m, --message <MESSAGE> 9119625d8cSopenharmony_ci -h, --help Print help 9219625d8cSopenharmony_ci 9319625d8cSopenharmony_ci$ git stash pop -h 9419625d8cSopenharmony_ciUsage: git[EXE] stash pop [STASH] 9519625d8cSopenharmony_ci 9619625d8cSopenharmony_ciArguments: 9719625d8cSopenharmony_ci [STASH] 9819625d8cSopenharmony_ci 9919625d8cSopenharmony_ciOptions: 10019625d8cSopenharmony_ci -h, --help Print help 10119625d8cSopenharmony_ci 10219625d8cSopenharmony_ci$ git stash -m "Prototype" 10319625d8cSopenharmony_ciPushing Some("Prototype") 10419625d8cSopenharmony_ci 10519625d8cSopenharmony_ci$ git stash pop 10619625d8cSopenharmony_ciPopping None 10719625d8cSopenharmony_ci 10819625d8cSopenharmony_ci$ git stash push -m "Prototype" 10919625d8cSopenharmony_ciPushing Some("Prototype") 11019625d8cSopenharmony_ci 11119625d8cSopenharmony_ci$ git stash pop 11219625d8cSopenharmony_ciPopping None 11319625d8cSopenharmony_ci 11419625d8cSopenharmony_ci``` 11519625d8cSopenharmony_ci 11619625d8cSopenharmony_ciExternal subcommands: 11719625d8cSopenharmony_ci```console 11819625d8cSopenharmony_ci$ git custom-tool arg1 --foo bar 11919625d8cSopenharmony_ciCalling out to "custom-tool" with ["arg1", "--foo", "bar"] 12019625d8cSopenharmony_ci 12119625d8cSopenharmony_ci``` 12219625d8cSopenharmony_ci 12319625d8cSopenharmony_ciLast argument: 12419625d8cSopenharmony_ci```console 12519625d8cSopenharmony_ci$ git diff --help 12619625d8cSopenharmony_ciCompare two commits 12719625d8cSopenharmony_ci 12819625d8cSopenharmony_ciUsage: git[EXE] diff [OPTIONS] [COMMIT] [COMMIT] [-- <PATH>] 12919625d8cSopenharmony_ci 13019625d8cSopenharmony_ciArguments: 13119625d8cSopenharmony_ci [COMMIT] 13219625d8cSopenharmony_ci [COMMIT] 13319625d8cSopenharmony_ci [PATH] 13419625d8cSopenharmony_ci 13519625d8cSopenharmony_ciOptions: 13619625d8cSopenharmony_ci --color[=<WHEN>] [default: auto] [possible values: always, auto, never] 13719625d8cSopenharmony_ci -h, --help Print help 13819625d8cSopenharmony_ci 13919625d8cSopenharmony_ci$ git diff 14019625d8cSopenharmony_ciDiffing stage..worktree (color=auto) 14119625d8cSopenharmony_ci 14219625d8cSopenharmony_ci$ git diff ./src 14319625d8cSopenharmony_ciDiffing stage..worktree ./src (color=auto) 14419625d8cSopenharmony_ci 14519625d8cSopenharmony_ci$ git diff HEAD ./src 14619625d8cSopenharmony_ciDiffing HEAD..worktree ./src (color=auto) 14719625d8cSopenharmony_ci 14819625d8cSopenharmony_ci$ git diff HEAD~~ -- HEAD 14919625d8cSopenharmony_ciDiffing HEAD~~..worktree HEAD (color=auto) 15019625d8cSopenharmony_ci 15119625d8cSopenharmony_ci$ git diff --color 15219625d8cSopenharmony_ciDiffing stage..worktree (color=always) 15319625d8cSopenharmony_ci 15419625d8cSopenharmony_ci$ git diff --color=never 15519625d8cSopenharmony_ciDiffing stage..worktree (color=never) 15619625d8cSopenharmony_ci 15719625d8cSopenharmony_ci``` 158