离线下载
PDF版 ePub版

liuhui · 更新于 2018-11-28 11:00:43

建立一个私有仓库

如果不使用第三方的代码托管服务,而是要自己在服务器上建一个网上可访问的私有代码仓库,你有几种选择:

通过 SSH 协议来访问仓库 

通常最简单的办法是通 ssh 协议访问 Git(Git Over SSH)。如果你在一台机器上有了一个 ssh 帐号,你只要把“git 祼仓库”放到任何一个可以通过 ssh 访问的目录,然后可以像 ssh 登录一样简单的使用它。假设你现在有一个仓库,并且你要把它建成可以在网上可访问的私有仓库。你可以用下面的命令,导出一个祼仓库,然后用 scp 命令把它们拷到你的服务器上:

$ git clone --bare /home/user/myrepo/.git /tmp/myrepo.git
$ scp -r /tmp/myrepo.git myserver.com:/opt/git/myrepo.git

如果其它人也在 myserver.com 这台服务器上有 ssh 帐号,那么 TA 也可以从这台服务器上克隆(clone)代码:

$ git clone myserver.com:/opt/git/myrepo.git

上面的命令会提示你输入 ssh 密码或是使用公钥(public key)。

译者注 1:配置 ssh 公钥的方法可以参考这里,这样在 ssh 访问时就可以不要输入命令。

译者注 2:git over ssh 方式对仓库有读写权限,git://协议只能读仓库。

使用 Gitosis 的多用户访问

如果你不想为每个用户配置不同的帐号,你可以用一个叫 Gitosis 的工具。在 gitosis 中,有一个叫 authorized_keys 的文件,里面包括了所有授权可以访问仓库的用户的公钥(public key),这样每个用户就可以直接使用‘git’用户来推送(push)和拉(pull)代码。