git config --global userName "Your Name"
git config --global userEmail "your.email@example.com"
git config --list
git config --global core.editor "vim"
git config --global core.editor "code --wait"
git help <command>
git help merge
git help -a
git init <directory-name>
git init --bare
git clone <url> <directory>
git clone --depth=1 <url>
git add <file>
git add .
git add -p
git status
git status -s
git status --ignored
git diff
git diff --staged
git diff <branch1> <branch2>
git commit -m "message"
git commit --amend
git commit --no-edit
git reset <file>
git reset --soft <commit>
git reset --hard <commit>
git branch
git branch <branch-name>
git branch -d <branch-name>
git branch -m <old-branch-name> <new-branch-name>
git branch --show-current
git checkout <branch-name>
git checkout -b <branch-name>
git checkout -- <file>
git merge <branch-name>
git merge --squash <branch-name>
git merge --no-ff
git rebase <branch-name>
git rebase --interactive
git rebase --abort
git stash save "message"
git stash pop
git stash list
git fetch origin
git fetch --all
git pull origin <branch-name>
git pull --rebase
git push origin <branch-name>
git push --force
git remote add <name> <url>
git remote -v
git remote remove <name>
git submodule add <repository>
git submodule update --init
git submodule status
git log
git log --oneline
git log --graph
git log -p
git show <commit>
git show HEAD
git diff
git diff --staged
git diff <branch1> <branch2>
git diff --name-only
git cherry-pick <commit>
git cherry-pick --abort
git apply <patch-file>
git apply --check <patch-file>
git bisect start
git bisect good <commit>
git bisect bad <commit>
git blame <file>
git blame -L <start>,<end> <file>
git grep "pattern"
git grep -n "pattern"