Common git commands
$ git submodule update --init
$ git submodule add url
$ git submodule update --recursive --remote
$ git checkout HEAD -- my-file.txt
$ git checkout master
$ git merge some-branch
$ git reset --hard
$ git clean -f -d # remove untracked
$ git clean -f -x -d # CAUTION: as above but removes ignored files like config.
$ git clean -fxd :/ # CAUTION: as above, but cleans untracked and ignored files through the entire repo (without :/, the operation affects only the current directory)