To jest bardzo proste. Git nie dba o to, jaka jest nazwa jego katalogu. Dba tylko o to, co jest w środku. Możesz więc po prostu zrobić:
# 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
Zwróć uwagę, że kopia jest dość droga, jeśli repozytorium jest duże i ma długą historię. Możesz tego łatwo uniknąć:
# 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 -
Po utworzeniu newrepomiejsce docelowe, które chcesz umieścić, gitrepo1może znajdować się w dowolnym miejscu, nawet w środku, newrepojeśli chcesz. Nie zmienia procedury, tylko ścieżkę, którą piszesz gitrepo1.
mv girepo1 newrepo??