转换的混帐回购不git的extention有git的扩展

问题描述:

我有一个gitolite服务器和一个旧的git服务器gitolite回购。 在我旧的git服务器上,我有大约80个存储库。 所有都是裸回购,但没有.git扩展名。 我想他们都转移到新的gitolite服务器,这样如果有人在未来需要任何旧回购可以从运行gitolite服务器没有任何问题,访问和所有回购将在一个地方,这将是易于管理。转换的混帐回购不git的extention有git的扩展

我知道我可以克隆从老蠢货服务器回购,可以通过在CONF/gitolite-admin.conf中的文件需要回购进入推送式回购新gitolite服务器。

这是非常耗时的,我也希望所有的回购从老蠢货服务器一次复制到新的gitolite服务器,并进行必要的修改增加到conf/gitolite-admin.conf中。

是否有可能这样做???

我确实想要将旧的git服务器上的所有回购站从旧的git服务器复制到新的gitolite服务器,并对conf/gitolite-admin.conf进行必要的更改。

肯定的:见 “bringing existing repos into gitolite

可以裸回购直接拷贝到gitolite服务器,在$HOME/repositories
只需在最后添加.git即可重命名该文件夹。

然后:

  • 运行gitolite setup服务器
  • 上宣布他们conf/gitolite-admin.conf,提交并推送从当地gitolite-admin克隆的变化。

您可以简单地将所有存储库复制到您的新服务器(假设您不再需要它们在旧服务器上)。不需要git clone

tar cfz所有的仓库变成一个.tar.gz档案,通过例如复制过来scp并在您的新服务器上再次提取存档。

如果您希望回购名称像repository.git在创建归档文件之前通过mv进行重命名。这可以很容易地做一点点bash'魔术':

cd /path/to/your/repositories 
for repo in *; do mv "$repo" "$repo.git"; done