私有git搭建

  

<李>

<李>

<李>

<李>

<李>



<李>

<李>

<李>


<李>

<李>



<李>

<李>

<李>

<李>

<李>


Git Git <代码>

从与安装<一口> <?与包。这将创造三件事:

<李>

该Git <代码> 用户

<李>

<代码> Git代码该用户所属的组

<李>

该<代码>/电脑/gitosis 目录将保存gitosis的数据和存储库

要配置gitosis,您不要直接在服务器上编辑文件。相反,gitosis提供了一个包含配置的Git存储库。要更新此配置,您<代码> gitosis-admin>

由于gitosis使用SSH密钥对用户进行身份验证,因此您将需要生成一个用于管理存储库的密钥对。如果没有,可以使用SSH - keygen <代码> 例如:

<>之前,美元ssh-keygen  -t  rsa

您现在可以初始化管理存储库。

<>之前,美元sudo  -H  -u  git  gitosis-init  & lt;/道路//public_key.pub   Git初始化的空仓库在gitosis-admin.git//电脑/gitosis/存储库   在srv/gitosis/仓库/gitosis-admin。git/中重新初始化现有的git仓库

<强>注意:在某些情况下,这可能会导致此类错误:

 OSError: [Errno  13], Permission 否认:“//,gitosis”

原因可能是git主目录没有正确设置。通过手动设置来修复它:

 # usermod  -d /, srv /, gitosis  git 

此外,此命令创建<代码>/电脑/gitosis/存储库>

在管理存储库初始化完成后,禁用用户git的基于密码的ssh登录可能是合理的。

要实现这一点,添加

匹配用户git
  密码验证号

在……的最后,<代码>/etc/ssh/sshd_config

如上所述,通过将提交推送到<代码> gitosis-admin> <>之前,美元git  clone  git@your.git.server: gitosis-admin。git

在<代码> gitosis-admin> <李>

<代码> gitosis.conf> <李>

<代码> keydir>

要修改存储库或用户,或配置Gitosis,只需提交克隆中的更改并将其推回到服务器。

您可以在/usr/share/doc/Gitosis中找到一些示例配置文件。

 [Gitosis的)
  gitweb =,是的
  
  (repo  foobar)
  时间=description  foobar的Git仓库
  时间=owner 用户
  
  (组开发者)
  时间=members  user1  user2
  
  (组管理员)
  members =user1
  
  (组gitosis-admin]
  writable =gitosis-admin
  members =@admins
  
  (组foobar)
  可写=foobar
  members =@devs
  
  (麦田组)
  writable =free_monkey
  会员=jdoe
  
  (组部署者)
  writable =free_monkey
  时间=readonly  monkey_deployer 

这定义了一个名为“free_monkey”的新组,它是一个任意字符串。“jdoe”是麦田的成员,可以访问“gitosis”存储库。“monkey_deployer”键将只能访问“free_monkey”。

将此添加到gitosis。会议中,提交并推送它:

<>之前,美元git  commit  -a  - m”允许jdoe写入访问free_monkey”   美元,git 推动

现在,用户“jdoe”可以访问名为“free_monkey”的存储库,但是我们还没有创建一个存储库。我们将做的是在本地创建一个新的存储库,在Git服务器上进行初始化,然后推送它:

<>之前,美元mkdir  free_monkey   美元,cd  free_monkey   美元,git  init   美元,git  remote  add  origin  git  @  YOUR_SERVER_HOSTNAME: free_monkey。git

做一些工作,git添加和提交文件

<>之前,美元git  push  origin 主:refs /, heads /,主人

私有git搭建