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 thực hiện:
# 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 bản sao này khá đắt nếu kho chứa lớn và có lịch sử lâu dài. Bạn có thể tránh nó một cách dễ dàng quá:
# 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 -
Một khi bạn tạo newrepo
, điểm đến để đưa gitrepo1
có thể là bất cứ nơi nào, ngay cả bên trong newrepo
nếu bạn muốn nó. Nó không thay đổi thủ tục, chỉ là con đường bạn đang viết gitrepo1
trở lại.
'mv girepo1 newrepo' ?? – sircapsalot