我想知道具体如何GitHub就托管 Git 存储库而言,他们所做的一切都是如此。例如,我假设他们根据某个 SQL 表中的值来管理存储库推送权限,例如:
create table user (id int primary key auto_increment,
username varchar(255),
password varchar(255));
create table repository (id int primary key auto_increment,
name varchar(255));
create table repository_member(id int primary key auto_increment,
user_id int,
repository_id int);
很简单,对吧?我用过吉特病(具有讽刺意味的是托管在 GitHub 上)过去,但使用数据库的东西会比编辑和提交对硬盘驱动器上的几个文本文件的更改要好得多。是否有其他服务可以更轻松地托管大量 Git 存储库,并能够像 GitHub 那样将其大量集成到 Web 应用程序中?
答案1
所有这些都依赖 ssh 来验证用户身份,然后通过其他方式进行授权。 Gitosis 和 Gitolite 都使用配置文件; Gitorious 使用(我认为)数据库(尽管,它可能会在项目权限更改时生成配置文件;不确定)。