Getting help: | |
---|---|
git help command | or |
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 |
-f | Force deletion of file(s) from disk |
git mv path destination | Move file or directory to new location |
-f | Overwrite existing destination files |
git checkout [rev] file | Restore file from current branch or revision |
-f | 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) |
-a | 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[..to]] | View commit log for a given revision range |
--stat | List diffstat for each revision |
-S'pattern' | 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 |
Branches: | |
---|---|
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[..to] | Format a patch with log message and diffstat |
git archive rev > file | Export snapshot of revision to file |
--prefix=dir/ | Nest all files in the snapshot in directory |
--format=[tar|zip] | Specify archive format to use: tar or zip |
Tags: | |
---|---|
git tag name [revision] | Create tag for a given revision |
-s | 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 |