Nó rất đơn giản. Git không quan tâm đến tên thư mục của nó là gì. Nó chỉ quan tâm những gì bên trong. Vì vậy, bạn có thể chỉ cần làm:
# 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
Lưu ý rằng việc sao chép khá đắt nếu kho lưu trữ lớn và có lịch sử lâu đời. Bạn cũng có thể tránh nó một cách dễ dàng:
# 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 -
Sau khi bạn tạo newrepo
, đích để đặt gitrepo1
có thể ở bất cứ đâu, ngay cả bên trong newrepo
nếu bạn muốn. Nó không thay đổi quy trình, chỉ là đường dẫn bạn đang viết gitrepo1
lại.
mv girepo1 newrepo
??