将没有.git扩展的Git repos转换为具有.git扩展名的gitolite repos

时间:2015-07-13 11:50:24

标签: git repository gitolite

我有一个gitolite服务器和一个旧的git服务器。 在我的旧git服务器上,我有大约80个存储库。 所有都是裸露的回购,但没有.git扩展名。 我想把它们全部转移到新的gitolite服务器上,这样如果将来任何人都需要任何旧的仓库可以从运行的gitolite服务器访问而没有任何问题,所有的回购将在一个地方,这将很容易管理。

我知道我可以从旧的git服务器克隆repo,并且可以通过在conf / gitolite-admin.conf文件中进行必要的repo条目将该repo推送到新的gitolite服务器。

这非常耗时,我确实希望将旧的git服务器中的所有repos立即复制到新的gitolite服务器并对conf / gitolite-admin.conf执行必要的更改。

是否可以这样做???

2 个答案:

答案 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