-
安装git
先检查是否安装了git:
[root@iZ28b5z3n0kZ gitrepo]# rpm -qa git
git-1.7.1-9.el6_9.x86_64
如果没有安装git,可以使用yum安装
yum install git
- 创建用户git
groupadd git
adduser git -g git
- 创建authorized_keys文件
cd /home/git
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
cd /home
chown -R git:git git
要注意的是文件权限和所属用户。
(后续的git clone如果需要密码,很有可能是git用户没有访问authorized_keys文件的权限)
-
客户端创建密钥并上传
看清楚了,要在客户端运行如下命令。
ssh-keygen -t rsa -C "your_email"
该命令会产生两个文件: id_rsa对应私钥,id_rsa.pub对应公钥。
将id_rsa.pub中的内容写到服务器的authorized_keys文件中。
如果有多个客户端,那么在authorized_keys文件中,一行保存一个客户端的公钥。
-
创建git仓库
为了方便管理,所有的git仓库都置于同一目录下,假设为/home/gitrepo,
cd /home
mkdir gitrepo
chown git:git gitrepo
接下来,创建我们的第一个git仓库:sample.git,
cd gitrepogit init --bare sample.git
最后一步,把仓库所属用户改为git。
chown -R git:git sample.git
到此,git服务器搭建完毕。
PS:
以后每创建一个新的仓库,记得最后一步操作: 修改仓库所属用户为git。
参考资料:
Git 服务器搭建
-------------------------
- 查看系统用户组
-d:指定字段的分隔符,默认的字段分隔符为“TAB”; -f:显示指定字段的内容;
cut -d: -f1 /etc/group
- 查看系统用户
cut -d: -f1 /etc/passwd
- clone仓库
git clone git@your_gitServer_ip:/home/gitrepo/sample.git
- push已有仓库
// 以master分支示范
git checkout master
git remote rm origin
git remote add origin git@your_gitServer_ip:/home/gitrepo/sample.git
git push -u origin master