git list all available commands
GitUbuntuGit 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)