我有一台运行 Ubuntu 的服务器,我在其中安装了一个 SVN 服务器并将其与 Apache 集成。我的用户通过 HTTPS 访问他们的存储库,我可以配置每个用户可以访问哪个存储库。
我还想建立一个具有以下功能的 git 服务器:
- 通过 SSH 密钥访问。
- 可以选择每个用户可以访问的存储库。
- (可选)用于创建新 repos 的 Web 界面。
我搜索了一下,但没能找到一个好的教程来提供所有这些功能。特别是,我没有找到如何设置用户权限。
我如何设置 git 服务器?
答案1
我使用 gitolite 作为私有 git 服务器,它易于配置,并且满足您的前两个要求。gitolite 的源代码和文档可在此处找到https://github.com/sitaramc/gitolite
就用于创建新存储库的 Web 界面而言,您可能有兴趣了解有关 GitlabHQ 的更多信息,这是一个旨在模拟 GitHub 的开源 Web 应用程序。这将为您提供一个图形界面来创建新存储库、更改权限、添加 SSH 密钥等。GitlabHQ 也使用 gitolite 作为其 git 服务器。文档、源代码和安装说明可在此处找到http://gitlabhq.com/。
答案2
查看 Git Drive,https://itunes.apple.com/us/app/git-drive/id1215974700?ls=1&mt=8,您将能够在几分钟内设置一个 Git 服务器。
Git Drive 是专为 iOS 打造的系统,让 Git 版本控制软件可以在移动设备上运行。有了 Git Drive,你的 iOS 设备就变成了掌上一台功能齐全的 Git 版本控制服务器。该服务器全面实现了 Git Smart 传输协议,包括传输稳定性和速度。
其他用户对存储库访问的授权完全由您控制,并且还支持对存储库的浅层更新和克隆操作。
Git Drive 软件除了充当功能齐全的 Git 版本控制服务器之外,还可充当强大的 Git 客户端,提供足够的功能,让您有效地管理存储库的更改并直接从应用程序检查任何文档。
Git Drive 使用 iCloud 作为 Git Drive 的备份存储;通过 iCloud,它可以在所有设备上同步任何存储库更新。
特征:
- Power Git Server 支持 Git Smart 传输协议;支持 5-10 个用户同时访问(使用 iPad 将增加并发用户访问量)。
- 仓库管理;每一次仓库更新操作都会被事务控制;如果操作中断,所有数据会立即回滚,或者在 Git Drive 重新启动时自动回滚。
- iCloud 存储库同步;无需担心数据丢失,因为所有存储库都备份在云端。
- 图形化提交记录,所有分支一目了然。
- 高速语法着色引擎,支持超过100种编程语言的语法着色,将定期更新。