我有一个gitolite服务器和一个旧的git服务器。 在我的旧git服务器上,我有大约80个存储库。 所有都是裸露的回购,但没有.git扩展名。 我想把它们全部转移到新的gitolite服务器上,这样如果将来任何人都需要任何旧的仓库可以从运行的gitolite服务器访问而没有任何问题,所有的回购将在一个地方,这将很容易管理。
我知道我可以从旧的git服务器克隆repo,并且可以通过在conf / gitolite-admin.conf文件中进行必要的repo条目将该repo推送到新的gitolite服务器。
这非常耗时,我确实希望将旧的git服务器中的所有repos立即复制到新的gitolite服务器并对conf / gitolite-admin.conf执行必要的更改。
是否可以这样做???
答案 0 :(得分:0)
我确实希望将旧git服务器中的所有repos立即复制到新的gitolite服务器,并对conf / gitolite-admin.conf执行必要的更改。
当然:请参阅" bringing existing repos into gitolite"
您可以在$HOME/repositories
中直接将裸存储库复制到gitolite服务器
只需在末尾添加.git
即可重命名该文件夹。
然后:
gitolite setup
conf/gitolite-admin.conf
中声明它们,提交并推送来自本地gitolite-admin
克隆的更改。 答案 1 :(得分:0)
您可以简单地将所有存储库复制到新服务器(假设您的旧服务器上不再需要它们)。无需git clone
。
tar cfz
将您的所有存储库合并到一个.tar.gz
存档中,然后通过例如scp
并在新服务器上再次提取存档。
如果您希望在创建存档文件之前将repo名称设置为repository.git
,请通过mv
重命名它们。这可以通过一点点“神奇”来轻松完成:
cd /path/to/your/repositories
for repo in *; do mv "$repo" "$repo.git"; done