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