Все очень просто. Git не волнует, как называется его каталог. Его волнует только то, что внутри. Итак, вы можете просто сделать:
# 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
Обратите внимание, что копия стоит довольно дорого, если репозиторий большой и с большой историей. Вы тоже можете легко этого избежать:
# 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 -
После того, как вы создадите newrepo, место назначения gitrepo1может быть где угодно, даже внутри, newrepoесли вы этого хотите. Это не меняет процедуру, только путь, который вы пишете gitrepo1.
mv girepo1 newrepo??