How to rename git root folder?

Solution 1:

Yes, it is safe to rename the folder containing a Git repository. All paths inside the Git repository are relative.

Solution 2:

To amend slightly Greg's answer, yes, everything with a git repo is relative to the .git parent directory, but:

(and this won't probably affect you directly, I only mention those reasons here for completeness' sake.):

  • the path of the repo itself could be referenced by other services running on your computer (Apache, ssh, another repo declaring your repo as a remote, using the full file path, a gitolite layer declaring your repos in a certain path, ...)
  • some operations use the full path of the repo (like the GIT_INDEX_FILE using within a filter-branch command for instance, see this thread), so, obviously, don't rename the root directory while performing a complex operation on your repo.

Plus, a "windows copy" (instead of a git clone), will copy everything including hooks, which may include absolute path in their script if you have edited them and made those kind of modification.

Solution 3:

Please check the comments first...

In my opinion, the best is to use the git workflow, especially when you use a git server (remote master repository), which means:

  • get the old directory in sync with your git server (git pull, git push and at last git status to see if everything is fine)
  • git clone <former directory> <new directory>

(Since I'm also new to GIT, this might be not the full, correct answer. I've had the same question as Mick and for learning purpose I tried to do it the git way :) Thanks for the clue, vonC! Please correct me, if needed :)