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

时间:2013-01-29 17:55:47

标签: git terminal gitolite

我对Git和Gitolite很新,但昨天我设法让它运行起来。

问题是,我有一个包含许多项目的文件夹(让我们称之为/projects),我试图将它们迁移到Git。我将Gitolites /repositories文件夹符号链接到此/projects文件夹,因此现在每个新的repo都在/projects文件夹中创建。它很好用。

但是现在我想为/projects文件夹中的每个项目(子文件夹)创建一个repo。如果我在Gitolite中初始化一个新的仓库(让我们称之为/myproject),它会创建一个名为myproject.git的新文件夹,而不是使用旧的myproject文件夹和文件I&# 39;我已经在工作了。

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

1 个答案:

答案 0 :(得分:3)

这就是Gitolite works的方式:它管理存储库(xxx.git文件夹),而不是工作树(完整文件的目录,如projects/myprojects/

所以:不要将存储库符号链接到/ projects:两者的目的都非常不同。

您可以直接在自己的目录(/projects/myproject/.git)中初始化和导入每个项目,然后按照“how to configure a migrated git repository in gitolite”将其导入Gitolite。


Pierre De LESPINAY提及s in the comments官方文档:

appendix 1: bringing existing repos into gitolite

  
      
  • 将回购移至$HOME/repositories
  •   
  • 确保:      
        
    • 他们都是裸露的回购。
    •   
    • 所有回购品名称均以“.git”结尾。
    •   
    • 所有文件和目录都由gitolite托管用户拥有和写入(特别是如果您以root用户身份复制它们)。
    •   
  •   
  • 运行 gitolite setup
      如果您忘记了这一步,您也可以忘记写访问控制!
  •   
     

回到你的工作站上:

     
      
  • 如果repos是正常的repos,请将它们添加到admin repo的克隆中的conf/gitolite.conf,然后提交并推送更改。
  •   
  • 如果repos是已经与conf文件中的某些repo正则表达式匹配的通配符repos,则需要手动创建gl-creator文件,如下所示:
  •   
echo username > ~/repositories/path/to/repo.git/gl-creator