Git:clone
# Shallow clone
git clone --depth <number> <path-to-remote>
# When you want to push to a new remote
git remote set-url origin <path-to-remote>
git remote add old <path-to-old-remote>
git fetch --unshallow old
git push origin master
# Remote
git clone <username@host:/path/to/repository>
# Local
git clone </path/to/repository>