设置 git 服务器

Pra*_*weł 57 server git

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

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

Huy*_*ens 38

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

Git 可以是无服务器的,您可以初始化存储库,然后通过 SSH 从远程访问它。所以 Ubuntu 服务器上的指令应该这样做:

GIT_DIR=project.git git init  
cd project.git  
git --bare update-server-info  
cp hooks/post-update.sample hooks/post-update
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get install ssh-server
Run Code Online (Sandbox Code Playgroud)

现在,您应该配置 SSH 以保护它。

是时候将您的项目上线(您的开发机器上已有的数据):

git push ssh://<username>@<remote-git-hostname>/path/to/project.git master
Run Code Online (Sandbox Code Playgroud)

现在你可以开始克隆了。你继续你的开发机器:

git clone ssh://<username>@<remote-git-hostname>/path/to/dir.git
Run Code Online (Sandbox Code Playgroud)

在 Git 上查看这个优秀的资源

为了生成更安全的身份验证的 ssh 密钥,您可以阅读这篇关于SSH 身份验证的文章。

  • @PawełKarpiński - 您可以在`~/.ssh/config` 中设置客户端 SSH 配置文件来处理用户名/主机地址、密钥输入、端口等。 (3认同)

Mar*_*ppi 15

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

sudo apt-get install gitolite
Run Code Online (Sandbox Code Playgroud)

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


Li *_* Lo 9

我喜欢gitolite。Pro Git 书有一介绍它,但我建议阅读整本书。

至于您的多用户要求:

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


小智 6

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