203

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 be harmful or helpful? Why can we git init inside an existing repository?

1
  • FWIW using Xcode I first created the local repository for the first time, then when I went to Github.com to create a new remote repository. Which I did, then to link my local repository to my remote...I was following its steps (provided on Github.com), its first step is git init which I did. Presumably it was the 2nd time after Xcode automatically had created it Commented Feb 7, 2017 at 22:35

3 Answers 3

260

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.

Sign up to request clarification or add additional context in comments.

Comments

125

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.

Comments

55

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.

2 Comments

I didn't understand "pick up newly added templates" part. Could you tell me what this mean?
@dixhom If you found the answer please share. I have same doubt.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.