您的位置:首页 > 运维架构 > Linux

[置顶] 在centos7上搭建自己的git服务

2018-01-28 16:38 363 查看

一、安装Git并添加git用户


首页:

$ yum install git


接下来我们 创建一个git用户组和用户,用来运行git服务:

$ groupadd git
$ useradd git -g git


并给用户添加密码 ,很多博客上面并没有添加密码这一项,不是的是不是因为版本的缘故,到 最后远程链接到仓库clone的时候,需要你输入密码,而且必须要有,不能为空,我就是一 直按 照博客上面操作并没有设置用户密码,走到最后本地clone时候一直不成功,也不知道什 么原因,最后实在没办法就试试设置用户密码,然后clone成功了。

$ passwd git


二、创建证书登录


收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

如果没有该文件创建它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ chown -R git:git .ssh


三、初始化Git仓库


先创建/home/data/git/目录放置git仓库并初始化

$ mkdir -p /home/data/git
$ cd /home/data/git
$ git init --bare project.git


执行以上命令 Git命令,会创建一个裸仓库,会生成branches config description HEAD hooks index info objects refs文件和目录。裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通 常都以.git结尾。然后,把owner改为git

chown -R git:git project.git


四、若想拉取仓库时不用输入密码,需将客户端的公钥id_rsa.pub下的内容复制到/home/git/.ssh/authorized_keys文件里,每一行放一个公钥,下面是在客户端生成公钥:

$ ssh-keygen -t rsa  -C"youremail@example.com"


五、以上步骤完成你就可以在本地克隆仓库和提交你的代码操作咯

$ git clone git@ip:/home/data/git/project.git t
Cloning into 'runoob'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.


小结


搭建Git服务器非常简单,很快完成主要将文件的权限设置正确你就可以不用输入密码轻松的拉取对应项目
要方便管理公钥,用Gitosis;
要像SVN那样变态地控制权限,用Gitolite。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: