Does running git init twice initialize a repository or reinitialize an existing repo?
What happens to an existing git repository when you issue git init
again?
I created a repository with git init
. Created a file, add, commit. Check the status (nothing to commit). Then created another file, check the status and I can see it's untracked as expected.
Then, say by mistake, I run git init
again and I get Reinitialise existing Git repository message.
Tried git status
, but it shows the same. So what really happens?
Can reinitialising an existing git repository this way开发者_JAVA技巧 be harmful or helpful? Why can we git init
inside an existing repository?
It seems safe and should not overwrite anything important.
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.
It seems safe and should not overwrite anything important.
Quoted from 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.
精彩评论