Es muy simple. A Git no le importa cuál es el nombre de su directorio. Solo le importa lo que hay dentro. Entonces, simplemente puede hacer:
# copy the directory into newrepo dir that exists already (else create it)
$ cp -r gitrepo1 newrepo
# remove .git from old repo to delete all history and anything git from it
$ rm -rf gitrepo1/.git
Tenga en cuenta que la copia es bastante cara si el repositorio es grande y con una larga historia. También puedes evitarlo fácilmente:
# move the directory instead
$ mv gitrepo1 newrepo
# make a copy of the latest version
# Either:
$ mkdir gitrepo1; cp -r newrepo/* gitrepo1/ # doesn't copy .gitignore (and other hidden files)
# Or:
$ git clone --depth 1 newrepo gitrepo1; rm -rf gitrepo1/.git
# Or (look further here: http://stackoverflow.com/q/1209999/912144)
$ git archive --format=tar --remote=<repository URL> HEAD | tar xf -
Una vez que lo crea newrepo, el destino para colocar gitrepo1podría ser cualquier lugar, incluso adentro newreposi lo desea. No cambia el procedimiento, solo la ruta que está escribiendo gitrepo1.
mv girepo1 newrepo??