Git Cheat Sheet

Git Quick Reference
Adding the ShortCut:

$ git config --global alias.add-commit '!git add -A &&  git commit'
$ git add-commit
$ git config --global --edit

[user]
        name = Raju
        email = [email protected]
[gui]
        recentrepo = C:/Git
[alias]
        add-comment = !git add -A  && git commit

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
git clone --recursive url Clone a remote repository into a subdirectory recursively including the submodules

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

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b develop origin/develop

Step 2. Review the changes locally
Step 3. Merge the branch and fix any conflicts that come up

git checkout master
git merge --no-ff develop

Step 4. Push the result of the merge to Git

git push origin master

References
https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud
https://guides.github.com/introduction/flow/

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *