git list all available commands

GitUbuntu

Git Problem Overview


Is there command which can show me list of all available commands in GIT? There is git help but it shows:

usage: git [--version] [--exec-path[=<path>]] [--html-path]
           [-p|--paginate|--no-pager] [--no-replace-objects]
           [--bare] [--git-dir=<path>] [--work-tree=<path>]
           [-c name=value] [--help]
           <command> [<args>]

The most commonly used git commands are:
   add        Add file contents to the index
   bisect     Find by binary search the change that introduced a bug
   branch     List, create, or delete branches
   checkout   Checkout a branch or paths to the working tree
   clone      Clone a repository into a new directory
   commit     Record changes to the repository
   diff       Show changes between commits, commit and working tree, etc
   fetch      Download objects and refs from another repository
   grep       Print lines matching a pattern
   init       Create an empty git repository or reinitialize an existing one
   log        Show commit logs
   merge      Join two or more development histories together
   mv         Move or rename a file, a directory, or a symlink
   pull       Fetch from and merge with another repository or a local branch
   push       Update remote refs along with associated objects
   rebase     Forward-port local commits to the updated upstream head
   reset      Reset current HEAD to the specified state
   rm         Remove files from the working tree and from the index
   show       Show various types of objects
   status     Show the working tree status
   tag        Create, list, delete or verify a tag object signed with GPG

See 'git help <command>' for more information on a specific command.

And I want just list without description.

Git Solutions


Solution 1 - Git

Try:

git help -a

Solution 2 - Git

As @CharlesBailey already suggested, git help -a is a great way to list all of the subcommands that git offers. However, if you want to remove some of the formatting that git prints, that can be done too:

The easiest way to get a list of all git subcommands is as follows:

git help -a | grep "^  [a-z]" | tr ' ' '\n' | grep -v "^$"

This takes the output of git help -a, selects only the lines that are indented, converts spaces to newline characters, and then removes the empty lines.

Why would you want something like this? A common reason for wanting to list the subcommands of a command is to enable autocompletion in Bash:

complete -W "$(git help -a | grep "^  [a-z]")" git

Now, when you type git br and press TAB, it autocompletes to git branch. Enjoy!

Solution 3 - Git

If you are using linux (BASH). You can try

$ git [TAB] [TAB]

Then I got something like this:

$ git
add                 fetch               rebase
am                  fetchavs            reflog
annotate            filter-branch       relink
apply               format-patch        remote
archive             fsck                repack
bisect              gc                  replace
blame               get-tar-commit-id   request-pull
br                  grep                reset
branch              gui                 revert
bundle              help                rm
checkout            imap-send           shortlog
cherry              init                show
cherry-pick         instaweb            show-branch
ci                  log                 st
citool              log1                stage
clean               merge               stash
clone               mergetool           status
co                  mv                  submodule
commit              name-rev            svn
config              notes               tag
describe            pull                whatchanged
diff                push
difftool pushav

Solution 4 - Git

To list git commands, inluding git commands available from elsewhere on your $PATH

git help -a

To list user-configured aliases use

git aliases

Solution 5 - Git

Source: https://thenucleargeeks.com/2020/01/20/git-commands-cheat-sheet/

Windows: Use Chocolatey and in powershell type

choco install git
Linux:

ubuntu: sudo apt-get update && sudo apt-get install git -redhat: sudo yum install git -h
Mac OS:

install Homebrew and Xcode
Set a user name which can be seen or associated with every commit

git config --global user.name "nuclear geeks"
Set a user email which can we seen or associated with every commit

git config --global user.email "[email protected]"
Clone an existing repository

git clone url
Check the modified file in working directory.

git status
Add a modified file to staging area.

git add <file_name>
Add all the modified file to staging area

git add . 
Commit message

git commit -m "commit_message"
Difference between working area and staging

git diff <file_name>
Difference between working area and last commit or repository

git diff HEAD <file_name>
Difference between staging area and repository

git diff --staged 
git diff --staged <file_name>
List all your branches

git branch 
Create new branch

git checkout -b <branch_name>
Push the branch to origin

git push origin <branch_name>
Switch to another branch

git checkout <branch_name>
Merge branches

git merge <branch_name>
Backout File, If you want to move your file from stage area to working or unstage area

git reset HEAD <file_name>
Discard changes in working directory

git checkout <file_name>
Delete file

git rm <file_name>
Rename a file

git mv <current_name> <new_name>
Move a file

git mv <file_name> <dir_name>
Git alias, renaming command to new name

git config -global alias. <short_command> <"long command">
Find hidden file

git ls -al 
Stash your changes

git stash
To apply your changed from stash

git stash apply
To delete your stash from the list

git stash drop
To list your stash list

git stash list 
To apply the changes and delete from the listt

git stash pop
Git stash with message

git stash save "msg"
Find change done in specific index

git stash show stash@{id}
Apply

git stash apply stash@{id}
Tag creation

git tag <tag_name>
Annotated tag creation

git tag -a <tag_name>
Push tag to remote

git push origin <tag_name>
List all the tags

git tag --list
Delete tags

git tag --delete <tag_name>
Create a branch from the tag

git checkout -b <branch_name> <tagname>
Create a tag from past commit

git tag <tag_name> <reference_of_commit>

Solution 6 - Git

With Git 2.36 (Q2 2022), "git help -a"(man) has new options which helps filter/clarify the list of commands.

See commit 93de1b6, commit 1ce5901, commit 503cdda, commit 5e8068b, commit d7f817d, commit 6fb427a, commit bf7eed7, commit cd87ce7, commit 4bf5cda (21 Feb 2022) by Ævar Arnfjörð Bjarmason (avar).
(Merged by Junio C Hamano -- gitster -- in commit 1f3c5f3, 09 Mar 2022)

> ## help: add --no-[external-commands|aliases] for use with --all
> Signed-off-by: Ævar Arnfjörð Bjarmason

> Add the ability to only emit git's own usage information under --all. >
> This also allows us to extend the "test_section_spacing" tests added in a preceding commit to test "git help --all"(man) output.
> > Previously we could not do that, as the tests might find a git-* command in the "$PATH", which would make the output differ from one setup to another.

git help now includes in its man page: > ## 'git help' [-a|--all] [--[no-]verbose] [--[no-]external-commands] [--[no-]aliases]

git help now includes in its man page: > ## --no-external-commands > > When used with --all, exclude the listing of external "git-*" > commands found in the $PATH. > > ## --no-aliases > > When used with --all, exclude the listing of configured > aliases.

Solution 7 - Git

command for clone url: git clone url

command to check status: git status

command to add file: git add pom.xml git add src/

command to commit code with message: git commit -m "initial version"

command to push: git push -u origin master

command to clear git terminal: clear

command to checkout different branch: git checkout -b branch-name

command to add file: git add src/main/java/com/rest/mongo/UserExample.java

command to pull updates from different branch: git pull origin develop

command to push through upstream: git push --set-upstream origin 11111feature-234

steps to merge your branch to develop/master branch: git checkout -b develop git merge your-branch-name

for reference use below link:(step by step explanation)

https://www.youtube.com/watch?v=tzZj-bnjX6w&t=17s

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionkskaradzinskiView Question on Stackoverflow
Solution 1 - GitCB BaileyView Answer on Stackoverflow
Solution 2 - GitAdam StewartView Answer on Stackoverflow
Solution 3 - GitEnze ChiView Answer on Stackoverflow
Solution 4 - Gitreducing activityView Answer on Stackoverflow
Solution 5 - GitLovelyView Answer on Stackoverflow
Solution 6 - GitVonCView Answer on Stackoverflow
Solution 7 - GitDheeraj kumarView Answer on Stackoverflow