centos搭建git服务器,并同步线上项目

1. 安装git

2. 创建用户git

groupadd git
adduser git -g git

3. 创建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文件的权限)

4. 客户端创建密钥并上传

看清楚了,要在客户端运行如下命令。

ssh-keygen -t rsa -C "your_email"

该命令会产生两个文件: 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。

转自:CentOS搭建git服务器 http://www.cnblogs.com/gattaca/p/6252416.html


  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

同步代码库代码到WEB目录

cd /home/gitrepo/sample.git/hooks/
vi post-receive
输入
#!/bin/bash
git --work-tree=/data/wwwroot checkout -f

PS:客户端push到服务器时,会把代码同步到wwwroot目录下,前提是:git用户有wwwroot文件夹写入的权限

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值