Roshan Book

My Tech Notebook

Git Quick Reference

This post was originally published at

Getting help:

git help command

git command –help
Show help for a command

Repository creation:

git init
Create a repository in the current directory

git clone url
Clone a remote repository into a subdirectory

File operations:

git add path
Add file or files in directory recursively

git rm path
Remove file or directory from the working tree

Force deletion of file(s) from disk

git mv path destination
Move file or directory to new location

Overwrite existing destination files

git checkout [rev] file
Restore file from current branch or revision

Overwrite uncommitted local changes

Working tree:

git status
Show status of the working tree

git diff [path]
Show diff of changes in the working tree

git diff HEAD path
Show diff of stages and unstaged changes

git add path
Stage file for commit

git reset HEAD path
Unstage file for commit

git commit
Commit files that has been staged (with git-add)

Automatically stage all modified files

git reset –soft HEAD^
Undo commit & keep changes in the working tree

git reset –hard HEAD^
Reset the working tree to the last commit

git clean
Clean unknown files from the working tree

Examining History:

git log [path]
View commit log, optionally for specific path

git log [from[]]
View commit log for a given revision range

List diffstat for each revision

Search history for changes matching pattern

git blame [file]
Show file annotated with line modifications

Remote repositories – remotes:

git fetch [remote]
Fetch changes from a remote repository

git pull [remote]
Fetch and merge changes from a remote repository

git push [remote]
Push changes to a remote repository

git remote
List remote repositories

git remote add remote url
Add remote to list of tracked repositories


git checkout branch
Switch working tree to branch

      -b branch
Create branch before switching to it

git branch
List local branches

git branch -f branch rev
Overwrite existing branch, start from revision

git merge branch
Merge changes from branch

Exporting and importing:

git apply – < file
Apply patch from stdin

git format-patch from[]
Format a patch with log message and diffstat

git archive rev > file
Export snapshot of revision to file

Nest all files in the snapshot in directory

Specify archive format to use: tar or zip


git tag name [revision]
Create tag for a given revision

Sign tag with your private key using GPG

      -l [pattern]
List tags, optionally matching pattern

File status flags:

M modified
File has been modified

C copy-edit
File has been copied and modified

R rename-edit
File has been renamed and modified

A added
File has been added

D deleted
File has been deleted

U unmerged
File has conflicts after a merge


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: