美文网首页
Git 仓库搭建

Git 仓库搭建

作者: Leafmure | 来源:发表于2018-11-28 12:13 被阅读0次

    创建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
    
    • 如果不用输入密码直接进入:能连接服务器并且rsa密钥配置成功
    • 如果需要输入密码进入:未配置密钥或者密钥无效
    • 如果出现 Host key verifocation failed:检查本地密钥是否存在 known_hosts文件,存在的话将其删除
    • 其他未知结果:无法访问服务器
    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
    

    相关文章

      网友评论

          本文标题:Git 仓库搭建

          本文链接:https://www.haomeiwen.com/subject/uzeaqqtx.html