繁体   English   中英

如何重命名使用gitolite创建的Git存储库?

[英]How do I rename a Git repository created with gitolite?

我使用gitolite创建了一个Git存储库。 现在我想重命名该存储库。

我怎样才能做到这一点?

在gitolite的自述文件中说我不应该直接在服务器上工作。 但我想在这种情况下我必须在服务器上做一些工作,对吧?

gitolite basic-admin手册中所述

重命名回购

这是类似的; gitolite没有代码可以做到这一点。 你做的是:

  • 登录到服务器, cd $REPO_BASE (默认值: cd ~/repositories ),和

    mv old-name.git new-name.git

  • 回到你的gitolite-admin克隆,编辑conf/gitolite.conf并用new-name替换所有出现的old-name new-name 然后像往常一样添加,提交和推送。

这两个步骤的顺序很重要; 不要反转他们:-)

gitolite3需要第三步:

  • 在repo中编辑文件gl-conf并将存储库名称更改为新名称

当然,每个用户都应该更新他的克隆配置以指向新的repo名称。

我并不熟悉gitolite,但可能有一种方法是创建一个具有正确名称的全新存储库,将代码推送到该存储库中,然后删除旧代码。

使用Greg Hewgill作为一个想法,您可以在配置文件中重命名存储库。 您可能希望首先在虚拟存储库上尝试。 我的怀疑是旧的名称将被删除,新的将被创建,你需要在本地更新你的起源,然后推。

一种干净的方法是将新存储库创建为空存储库,然后执行以下操作:

假设old是OLD而new(empty)是NEW:

# mkdir /tmp/1
# cd /tmp/1
# git clone OLD_REPO old
# git clone NEW_REPO new
# cd new
# git pull ../old
# git push origin master

或者您可以直接使用远程仓库获取OLD:

# mkdir /tmp/1
# cd /tmp/1
# git clone NEW_REPO new
# cd new
# git pull OLD_REPO
# git push origin master

这将保留所有历史,并将让gitolite处理其内部。 此外,您将不得不更新gitolite-admin,但顺序没有限制。

这也可以毫无问题地远程工作。

删除OLD存储库应该按照gitolite的说明(本地)完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM