A GIT cheat sheet
Clone (download all code and create a local repository)
git clone ssh://user@domain.com/repo.git
Note: you do this only once after that you use "git pull" to keep up with
the latest changes from others.
Update local repository with latest changes
git pull
Push your changes to the git server
git status # see what you have changed
git pull # get the latest code from the server, will not overwrite your changes
git add all_the_files_you_want_to_push
git commit -m "summary of what you did"
git push
Note: you can use "git add -u" to add everything that is listed in "git status" in the upper
section as modified or deleted. In other words "git add -u" adds all changes to tracked files.
If you did accidently add too many files with "git add" and you notice the problem before you
typed "git commit" then you can type "git reset" and start over with "git add".
Undo changes in one file
git checkout filename
Look at the change history
git log
# see change details:
git log -u
# nice branch display:
git log --all --graph --decorate --oneline --simplify-by-decoration
Show diff to previous version
git diff the/file.txt
Review history of changes for a given file
git log -u the/file.txt
Show the difference between two versions:
#fist find the commitIDs:
git log the/file.txt
git diff -u commitID1:./the/file.txt commitID2:./the/file.txt
Who changed what and when in the file:
git blame the/file.txt
Show previous version of a file
# show previous version of the/file.txt on master branch:
git show master~1:the/file.txt
Go back in time by checking out an older commit:
git log
git checkout commitId
Checkout a branch other than master
# see if there are any changes that could cause problems:
git status
# list the branches:
git branch -va
git checkout branchname
List files ignored by .gitignore
git ls-files --others -i --exclude-standard
Merge a single commit from any other branch into this repro
git cherry-pick commitId
Show branches
git branch -va
Git config
# list config:
git config -l
Some reasonable configuration settings (do this once per local machine):
git config --global user.email your@email
git config --global user.name yourUserId
git config --global branch.autosetupmerge always
git config --global color.ui true
git config --global core.excludesfile .gitignore
git config --global push.default tracking
Links to other GIT cheat sheets
Written by Guido Socher