设置 git 服务器

设置 git 服务器

我最近在 Amazon EC2 上设置了 ubuntu-server。我想将其用作我的 git 服务器,这样我就可以在那里存储我的存储库。

那么,在哪里可以找到有关如何在 ubuntu 服务器上设置 git 的详细说明?所有这些 SSH 密钥和类似的东西、多个用户等等。

答案1

您可以使用按照 aking1012 的建议安装 Git 服务器的教程您或者您可以只在您的 EC2 实例上安装 SSH 服务器(保护它并更改默认端口可能是明智之举)。

Git 可以无服务器,您可以初始化存储库,然后通过 SSH 从远程访问它。因此,Ubuntu Server 上的此类说明应该可以做到这一点:

GIT_DIR=project.git git init  
cd project.git  
git --bare update-server-info  
cp hooks/post-update.sample hooks/post-update

最后在你的服务器上安装 SSH:

sudo apt-get install ssh-server

现在,您应该配置 SSH 来保护它的安全。

现在是时候将您的项目放到网上了(您的开发机器上已有的数据):

git push ssh://<username>@<remote-git-hostname>/path/to/project.git master

现在您可以开始克隆了。您可以在开发机器上进行以下操作:

git clone ssh://<username>@<remote-git-hostname>/path/to/dir.git

检查一下Git 上的优秀资源

为了生成 ssh 密钥以进行更安全的身份验证,您可以阅读有关SSH 身份验证

答案2

对于我所有的 Git 服务器设置,我使用吉托莱特允许“每个分支”访问的安全粒度。如果您在远程服务器上进行设置,则设置非常简单,就像运行交互式脚本一样简单。除了这种“易于设置”的特性外,它还在 Natty 和 Maverick 中有一个软件包

sudo apt-get install gitolite

这不会提供像 Github 或 Gitweb 这样的 Web 前端 - 但您可以轻松地在 Gitolite 之类的东西上配置和安装它们。

答案3

我喜欢吉托莱特。Pro Git 一书有一个部分但我建议阅读整本书。

至于您的多用户需求:

Gitolite 不仅允许您按存储库指定权限(就像 Gitosis 一样),还允许您按每个存储库内的分支或标签名称指定权限。也就是说,您可以指定某些人(或人群)只能推送某些“引用”(分支或标签),而不能推送其他引用。

答案4

一定要遵循官方文档:https://help.ubuntu.com/community/Git(部分设置 Git 和项目管理

相关内容