Does running git init twice initialize a repository or reinitialize an existing repo?

From the git docs:

Running git init in an existing repository is safe. It will not overwrite things that are already there. The primary reason for rerunning git init is to pick up newly added templates.


This is described in the git init documentation:

Running git init in an existing repository is safe. It will not overwrite things that are already there. The primary reason for rerunning git init is to pick up newly added templates.


Since v1.7.5 (b57fb80a7), git init in an existing repo has also allowed moving the .git directory:

The primary reason for rerunning 'git init' is to pick up newly added templates (or to move the repository to another place if --separate-git-dir is given).

'Picking up newly-added templates' means that any templates which have not already been copied from the template directory will now be copied into the existing git directory.

'Moving the repository to another place' means that, if --separate-git-dir points to somewhere else, the existing .git directory will be moved there and replaced by a link.