git服务器的搭建是很是简单的。html
1. 安装gitgit
yum install git服务器
2. 建立用户gitssh
groupadd git
adduser git -g git
passwd git
3. 建立authorized_keys文件spa
cd /home/git mkdir .ssh chmod 700 .ssh touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys cd /home chown -R git:git git
要注意的是文件权限和所属用户。code
(后续的git clone若是须要密码,颇有多是git用户没有访问authorized_keys文件的权限)server
4. 客户端建立密钥并上传htm
看清楚了,要在客户端运行以下命令。blog
ssh-keygen -t rsa -C "username"
(注:username为你git上的用户名)ip
该命令会产生两个文件: id_rsa对应私钥,id_rsa.pub对应公钥。
将id_rsa.pub中的内容写到服务器的authorized_keys文件中。
若是有多个客户端,那么在authorized_keys文件中,一行保存一个客户端的公钥。
5. 建立git仓库
为了方便管理,全部的git仓库都置于同一目录下,假设为/home/gitrepo,
cd /home mkdir gitrepo chown git:git gitrepo
接下来,建立咱们的第一个git仓库:sample.git,
cd gitrepo
git init --bare sample.git
最后一步,把仓库所属用户改成git。
chown -R git:git sample.git
到此,git服务器搭建完毕。
PS:
之后每建立一个新的仓库,记得最后一步操做: 修改仓库所属用户为git。
参考资料:
-------------------------
1. 查看系统用户组
-d:指定字段的分隔符,默认的字段分隔符为“TAB”; -f:显示指定字段的内容; cut -d: -f1 /etc/group
2. 查看系统用户
cut -d: -f1 /etc/passwd
3. clone仓库
git clone git@your_gitServer_ip:/home/gitrepo/sample.git
4. 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