git config --global user.name "yourname"
git config --global user.email "mail@domain.com"
: setting up email
git config --global color.ui auto
: enable color in command line
git init
: create a local repo system will be create .git in directory
git clone URL
: clone repo from remote server (Github/Bitbucket) to local
git status
: check status
git add FILENAME
: add FILENAME to staging ready for commit
git add .
: add all file to staging when edit or change
git diff
: show files change
git diff FIRST_BRANCH SECOND_BRANCH
: compare between branch1 and branch2
git log
: show list log history
git log --online
: show log history single line
git commit -m "Message"
: commit staged and save into Project History
git push origin master
: push to remote repository
git remote -v
: list remote URL
git remote rename origin destination
: change remote name
git remote rm REMOTE_NAME
: remove remote repository
git branch
: show list all branch
git branch BRANCH_NAME
: create new branch
git checkout BRANCH_NAME
: change woring branch (move HEAD to new branch)
git branch -d BRANCH_NAME
: delete branch
git merge BRANCH_NAME
: combine code & history branch
git reset --hard HEAD
: reset local repo
git reset COMMIT
: undo all then return COMMIT lastest
git reset FILENAME
: undo specific file
git revert
: undo and commit (deffrence reset will be reset and return commit but revert will be create new commit)
git rm FILENAME
: remove file and untracked file
git rm --cached FILENAME
: untracked file but not delete file
git fetch
: check diffrence code change local and remote repo
git pull
: check code and merge code from remote to local
git rebase
: seem git merge but delete branch when code combined
ssh-keygen -t rsa -C "mail@domain.com"
: generate SSH Key then file was created and gen to ~/.ssh/id_rsa
ssh -T git@github.com
: test SSH connection to remote GitHub