Git 仓库搭建

2018-11-28  本文已影响0人  Leafmure

创建git新用户管理git仓库

  1. 创建git用户并配置
# adduser git  // 创建git用户
# passwd git  // 设置git用户的密码
# chmod -v u+w /etc/sudoers  // 赋予读写权限
// 添加新用户信息至/etc/sudoers
# vim /etc/sudoers

// 添加新用户信息如下
// Allow root to run any commands anywhere 
root ALL=(ALL) ALL
git ALL=(ALL) ALL
  1. 生成密钥(在电脑的shell中执行)
$ ssh-keygen -t rsa  // 一直回车会出现 key’s randomart image
$ pbcopy < ~/.ssh/id_rsa.pub // 复制id_rsa.pub中的密钥
  1. 密钥配置(在服务器配置)
# su git  // 切换至git用户,如果当前是不必执行
# mkdir ~/.ssh // 创建.ssh文件
# vim ~/.ssh/authorized_keys // 将上步骤获取的密钥复制到authorized_keys文件里

# cd ~ // git用户下的根目录
// 设置权限
# chmod 600 .ssh/authorzied_keys
# chmod 700 .ssh
  1. 测试是否能连接服务器
$ ssh -v git@SERVERIP // SERVERIP 为服务器公网ip
  1. 建立git空库,也叫裸库,只有一个.git文件。在git用户下执行,因为在上步骤配置的权限只有git用户拥有所有权。
# cd /home/git  // 进入git用户目录下
# git init --bare 仓库名称.git // 创建git仓库
# chown git:git -R 仓库名称.git // 配置新建的git仓库的权限
  1. 测试是否创建成功
// clone git仓库
$ git clone git@SERVERIP:/home/git/仓库名称.git

使用 git-hooks 同步到其他目录下

将git仓库的内容自动同步至其他目录

# vim 仓库名称.git/hooks/post-receive

在post-receive文件下加以下内容:
git --work-tree=目标目录 --git-dir=git仓库地址 checkout -f
如:git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f

配置post-receive的可执行权限

# chmod +x /home/git/blog.git/hooks/post-receive
上一篇下一篇

猜你喜欢

热点阅读