The Git repo in the output directory is a temporary thing. The logic here is: “If there is already a Git repo, use it (possibly after updating its origin), otherwise create one”. Raising an error here when the repo exists means the the user has to manually clean the output directory every time before deploying.