I just list the git commands that I often use and
keep in this document for reference.
//
pull the newest commit from origin
git pull origin "your branch"
//
check out to a branch
git checkout "your branch name"
//
apply the
diff file
git apply "your
diff file"
// Check the
diff
git diff [your file]
//
code commit
git commit -a -m "This is
bug."
//
push commit to remote site,
git push "your remote site" "your branch"
//
repository name
git remote rm origin
git remote add origin git@...git
git remote set-url origin git@...git
//
add new remote repository name
git remote add "remote repository name" ssh
://.......
//Force to go back the current newest commit
git reset --hard HEAD
HEAD^ // the previous commit
HEAD~2 // the previous two commit
git reset --hard eb2b844 // the previous a commit with your hash code
--
soft // the change will be added to
stage
--
hard // all the change will be deleted
//
cancel the modification of some files.
git checkout -- <file>
//
modify the last commit
git commit --amend
//
reset the change of
some files
git reset HEAD <file>
//
reset the merge
git reset
//
clean up the changes
git cleanup -f
//
checkout a branch
git checkout "branch"
//
checkout a branch to
new branch with
track
git checkout -t -b
bcm origin/
bcm
//
look up the commit hash
git log
//
cherry pick the commit
git cherry-pick "hash code"
//
push to
remote repository
git push
remote repository name "branch"
//
use GUI to see the
diff, commit and branch tree
gitk --all&
//
merge the branch to this branch
git merge "branch"
// There are several
mergetools, such as, kdiff3/meld/p4merge
// I suggest to use p4merge/meld
//
the difftool "p4merge" to see the
diff of two commit with the cc files
git difftool -t p4merge aa202d3..be15911907d9 -- *.cc
git mergetool -t p4merge myfile.cc
//
keep the temp modification
git stash
//
check the stash list
git stash list
//
apply the stash
git stash apply --index
//
to apply the stash and then immediately drop it from your stack.
git stash pop
//
create a branch from a stash
git stash branch "your stash branch name"
// Undo a commit and redo
git commit ... (1)
git reset --soft HEAD~1 (2)
<<
edit files as necessary >> (3)
git add .... (4)
git commit -c ORIG_HEAD (5)
// Remove all
.pyc or
.xxx files
find . -name "*.pyc"; -exec git rm -f {} \;
// Remove a file in
remote repository without deleting local file
git rm --cached your_file_here
// Set
ignore file:
git config --global core
.excludesfile ~/
.gitignore_global
// Ignore SSL verification
env GIT_SSL_NO_VERIFY=true git command
or set to config:
git config http.sslVerify "false"
// Get sources after
commit id
git checkout 336e1731fd8591c712d029681392e5982b2c7e6b
src/
abc/*
// *** Avoiding annoying merge commits:
git pull --rebase origin master
git pull --rebase origin
// Avoiding to merge or commit your
customised configs:
git update-index --assume-unchanged [filepath]
// Putting back and tracking the files above:
git update-index --no-assume-unchanged [filepath]