-- -- start file arguments
-b -- create a new branch based at given commit
-B -- create or update branch based at given commit
--conflict -- same as --merge, using given merge style
--force -f -- force branch switch/ignore unmerged entries
--merge -m -- 3way merge current branch, working tree and new branch
--no-track -- override the branch.autosetupmerge configuration variable
--orphan -- create a new orphan branch based at given commit
--ours -- check out stage #2 for unmerged paths
--patch -p -- interactively select hunks in diff between given tree-ish a
--quiet -q -- suppress feedback messages
--theirs -- check out stage #3 for unmerged paths
--track -t -- set up configuration so pull merges from the base commit
git clean -f
(-d
if you have new directory )git reset --hard
( orgit reset
then back to 1. )git checkout .
( or specify with file names )git reset --hard
( orgit reset
then back to 3. )git clean -f
git checkout -f
git checkout -f
orgit checkout .
git checkout -f
git status -s | awk '$1 = "?" { print $2 }' | xargs rm -v
git reset --hard
git reset --hard
git reset --hard