我们在公司中,一个项目在开发过程中必定要涉及到同事之间的协同作战,此时代码管理就必不可少了,程序员用的最多的就是git了吧,但是公司的代码是禁止上传到github上的,所以需要自己搭建一个内部的git server服务器供公司内部使用,下面来具体就介绍。
本安装教程适用于centos服务器,其他版本linux服务器步骤一样,运行命令会不相同,自己转换即可。
配置git server,原理就是将客户端的公钥id_rsa.pub添加到服务端的密钥文件authorized_keys中,多个用户另起一行拼接到该文件中即可。下面介绍安装的两种方法:
方法一:yum安装
安装git软件
1 | yum install git -y |
git –version可以查看安装的git版本
1 | [git@hadoop3 gitrepo]$ git --version |
系统是centos7,自带git版本太低,但可以使用。
添加git用户组和用户
1 | groupadd git |
创建登录证书
1 | su git |
这里注意,一定要设置authorized_keys文件的权限为600,权限太大或太小都会造成cannot access的问题,我就遇到过这个坑。
免秘钥
复制客户端的公钥到服务端的authorized_keys文件中
初始化git仓库
创建一个git仓库文件夹,专门存放项目的地方,并创建一个项目,初始化:
1 | mkdir /srv/git -p |
bare的意思就是初始化一个裸仓库,并不存储用户push的数据,只存储元数据。
提交项目到git server
下面的命令是在客户端(另一台机器,可以是windows,也可以是linux)上执行的:
1 | cd myproject |
注意:提交的时候需要将gitserver更换成自己的git服务器的ip或者映射域名。
克隆项目
1 | git clone git@gitserver:/srv/git/project.git |
也是要替换gitserver的。
方法二:自定义安装
下载最新稳定版git
添加git用户组和用户
1 | groupadd git |
上传解压
1 | su git |
环境准备
1 | yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel gcc -y |
预编译、编译、安装
1 | cd git-2.9.5 |
其中GIT_HOME是自己指定的git安装目录。
配置
配置跟方法一一样
添加链接
上述步骤配置完成后,我们在push clone时会出现如下问题:
1 | bash: git-receive-pack: command not found |
原因是自定义安装时git的执行文件不在/usr/bin下,添加链接即可:
1 | ln -s /usr/local/gitserver/install/bin/git /usr/bin/git |
到这里配置就基本完成了,谢谢大家,如果有什么问题,请留言。
书山有路勤为径,学海无涯苦作舟。
欢迎关注微信公众号:【程序员写书】
喜欢宠物的朋友可以关注:【电巴克宠物Pets】
一起学习,一起进步。
