一、安装GITsudo apt-get install git也可以编译安装:centos 编译安装git二、创建git用户用以通过git来操作git项目sudo adduser git默认情况下会创
一、安装GIT
sudo apt-get install git
也可以编译安装:centos 编译安装git
二、创建git
用户
用以通过git
来操作git项目
sudo adduser git
.默认情况下会创建一个git
的用户属于git
组
三、为用户创建证书登录
将需要管理操作git项目的成员用户id_rsa.pub
(即github
的SSH keys
管理),添加到/home/git/.ssh/authorized_keys
,一行一个。
这一步是为了在拉取或推代码时不再输入密码
. .当然你也可以为用户设置密码,然后再操作项目时输入密码,但是不推荐这样做。(理由如果你不理解的话,就操作一遍喽!)
.四、初始化Git仓库
sudo git init --bare sample.git
.新建一个裸库,关于(git init
和git init --bare
)的区别
裸库最大的区别是在服务器上进入目录后看到的不再是项目的文件,而是原项目.git
文件里的内容。
五、修改项目所属者为git
sudo chown -R git:git sample.git
.sample.git
为上步新建项目文件夹
改变项目所属,可以避免其他用户操作文件,也可以避免绝大多数权限问题。
.六、禁用用户的shell
1、编辑/etc/passwd
sudo vi /etc/passwd
2、修改刚才新建用户记录将
git:x:1001:1002::/home/git:/bin/bash
修改为:
git:x:1001:1002::/home/git:/usr/bin/git-shell
.即禁用shell登录
. .请检查/usr/bin/git-shell
是否存在(即是否安装成功)
七、验证是否成功
git clone [email protected]:dingdayu/sample.git
如果出现:
Cloning into 'sample'...warning: You appear to have cloned an empty repository.Checking connectivity... done.
则代表配置成功。
.warning 警告拉取的是一个空的库
. .dingdayu/sample.git
是库的路径,是相对于用户主目录的路径。
附:公钥管理
小团队的管理通过修改authorized_keys
还可以管理(所有人可以操作所有库),当具体的操作权限细分后,比如每个库不同的操作用户时,就不在满足。
这里附两个方法,不过没试过,是在网络上看到的。
1、gitolite
2、通过GIT Hook管理