Git Command Referrence

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.

checkout

To switch to another branch in your local work environment.

$ git checkout BRANCH_NAME

add

To stage changes[file modifications and deletions].Accepts arguments for files or directories within the project directory. 

$ git add

Options:

$ git add [options]

Examples:

Adds content from all *.txt files under Documentation directory and its subdirectories.

$ git add Documentation/\*.txt


commit

Consists of a snapshot of the directory structure and file contents for the entire project.Record changes to the repository.

$ git commit

Options:

branch

To view a list of existing branches

$ git branch

Creates a new topic branch

$ git branch [branch]

merge

Merges [branch] into current branch.

$ git merge [branch]

diff

Shows diff of the unstaged changes.

$ git diff

Shows diff of the staged changes.

$ git diff --cached

log

Shows the history of the current branch.

$ git log

Shows the commits that aren't pushed.

$ git log m/[codeline]..

rebase

Reapply commits on top of another base tip.

$ git rebase [options]
$ git rebase [-i | --interactive] [<options>] [--exec <cmd>]
	[--onto <newbase> | --keep-base] [<upstream> [<branch>]]
 git rebase [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
	--root [<branch>]
 git rebase (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch)

Options :

stash

Stash the changes in a dirty working directory away.when you want to record the current state of the working directory and the index, but want to go back to a clean working directory. The command saves your local modifications away and reverts the working directory to match the HEAD commit. 

$ git stash list [<options>]
 git stash show [<options>] [<stash>]
 git stash drop [-q|--quiet] [<stash>]
 git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
 git stash branch <branchname> [<stash>]
 git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
	     [-u|--include-untracked] [-a|--all] [-m|--message <message>]
	     [--] [<pathspec>…​]]
 git stash clear
 git stash create [<message>]
 git stash store [-m|--message <message>] [-q|--quiet] <commit>

Options :