# Use git Prefer rebase when pull: ```sh git pull --rebase ``` Clean outdated branches: ```sh git fetch --prune origin ``` Push force safely: ```sh git push --force-with-lease origin master ``` Shallow clone: ```sh git clone --depth 1 ... ``` Add submodule: ```sh git submodule add --depth 1 ... ``` First time pull repo with submodules: ```sh git submodule update --init --recursive ``` Update submodules: ```sh git submodule update --recursive --remote ``` Save usernames and passwords in `~/.git-credentials`: ```sh git config --global credential.helper store ``` Use `vim` when commit: ```sh git config --global core.editor vim ``` Clean up untracked: ```sh git clean -df ```