在现有文件夹中初始化gitolite存储库

在现有文件夹中初始化gitolite存储库,git,terminal,gitolite,Git,Terminal,Gitolite,我对Git和Gitolite还相当陌生,但昨天我设法让它启动并运行起来 问题是,我有一个包含许多项目的文件夹(我们称之为/projects),我正在尝试将它们迁移到Git。我将Gitolites/repositories文件夹符号链接到此/projects文件夹,因此现在每个新回购都在/projects文件夹中创建。它工作正常 但是现在我想对/projects文件夹中的每个项目(子文件夹)进行回购。如果我在Gitolite中初始化一个新的repo(我们称之为/myproject),它将创建一个名

我对Git和Gitolite还相当陌生,但昨天我设法让它启动并运行起来

问题是,我有一个包含许多项目的文件夹(我们称之为
/projects
),我正在尝试将它们迁移到Git。我将Gitolites
/repositories
文件夹符号链接到此
/projects
文件夹,因此现在每个新回购都在
/projects
文件夹中创建。它工作正常

但是现在我想对
/projects
文件夹中的每个项目(子文件夹)进行回购。如果我在Gitolite中初始化一个新的repo(我们称之为
/myproject
),它将创建一个名为
myproject.git
的新文件夹,而不是使用旧的
myproject
文件夹和我正在处理的文件

那么,如何使用Gitolite将所有单个项目文件夹转换为Git存储库呢?我不想手动下载和附加所有这些文件。

就是这样:它管理裸存储库(xxx.git文件夹),而不是工作树(目录中充满了文件,如
projects/myprojects/

所以:不要将存储库符号链接到/projects:两者的用途完全不同

您可以在每个项目各自的目录(
/projects/myproject/.git
)中直接初始化和导入每个项目,然后将其导入Gitolite,并在“”后面


提及官方文件:

""
  • 将回购移动到
    $HOME/repositories
  • 确保:
    • 它们都是赤裸裸的回购协议
    • 所有回购协议名称以“
      .git
      ”结尾
    • 所有文件和目录都由gitolite宿主用户拥有并可写(如果您将它们作为根用户复制,则尤其如此)
  • 运行gitolite安装程序
    
    如果忘记了这一步,也可以忘记写访问控制
    
回到您的工作站上:

  • 如果repo是正常的repo,那么将它们添加到admin repo克隆中的
    conf/gitolite.conf
    ,然后提交并推送更改
  • 如果回购协议是通配符回购协议,并且已经与conf文件中的某个回购正则表达式匹配,则需要手动创建gl creator文件,如下所示:

如果我理解你的意思,Gitolite不会像标准的Git repo那样管理我的项目文件?@ArminCifuentes Gitolite是一个:它所做的只是接受或拒绝你对所说的
存储库/
的Git克隆/push/pull命令:为此,不需要完整的repo,只有一个就够了。官方的工作指示很好me@PierredeLESPINAY说得好。我已将这些说明包含在答案中,以提高可视性。
echo username > ~/repositories/path/to/repo.git/gl-creator