• linux 创建git 仓库


    #创建一个工作区
    mkdir test_work
    
    #创建一个git 仓库(服务库,非工作区)
    mkdir test_git 
    cd test_git
    git init --bare
    
    # 创建一个post-receive 勾子,用于提交代码后,自动将代码更新到 工作区 test_work
    vim ./hooks/post-receive
    
    #! /bin/sh
    GIT_WORK_TREE=test_work git checkout -f
    sudo chmod -R 777 test_work
    
    # 将以上三行shell 写入 post-receive 文件里,
    # 上面test_work 是你的工作区,路径写绝对路径
    # 写完之后,保存退出vim 编辑器
    
    #修改工作区的用户和用户组,用于 git 的receive 勾子有权限更新
    chown git:git -R test_work
    
    #修改test_git 仓库的用户和用户组,并给 post-receive 文件 增加执行权限
    chown git:git -R test_git
    chmod +x test_git/hooks/post-receive
    # 下面详细步骤转载 https://www.cnblogs.com/wangfg/p/9501441.html
    # 1
    、安装 $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum install git # 2、接下来我们 创建一个git用户组和用户,用来运行git服务: $ groupadd git $ useradd git -g git $ passwd ****** # 3、创建git仓库 $ cd /home/git $ git init --bare gitrepo.git $ chown -R git:git gitrepo.git # 4、禁用shell登录(为安全考虑,git用户不允许登录shell) # 修改/etc/passwd $ vim /etc/passwd # 找到git的用户设置 如: git:x:502:503::/home/git:/bin/bash 改为 git:x:502:503::/home/git:/bin/git-shell # 这样用户用git账户ssh连接后只能使用git命令了 # 5、打开 RSA 认证 # 进入 /etc/ssh 目录,编辑 sshd_config,打开以下三个配置的注释: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # 保存并重启 sshd 服务: $ /etc/rc.d/init.d/sshd restart # 6、客户端安装git并在(window的git bash)git操作提交 # 进入一个空的工作目录 # 设置用户信息: $ git config --global user.name "username" $ git config --global user.email "your@example.com" # 7、#初始化git $ git init # 8、管理公钥 $ ssh-keygen -C 'your@email.com' -t rsa #为你生成rsa密钥,可以直接一路回车,执行默认操作 # 客户端生成密要方式同上。 # 生成密钥后,一般C:Users用户名.ssh会出现 .ssh ├── id_rsa └── id_rsa.pub # 公钥 服务端需要里边内容验证连接着身份 # 将id_rsa.pub 里边内容复制到authorized_keys # 如找不到authorized_keys文件,则需在服务器端新建 $ cd /home/git $ mkdir .ssh $ chmod 755 .ssh $ touch .ssh/authorized_keys $ chmod 644 .ssh/authorized_keys # 在客户端上,打开 id_rsa.pub 复制里边内容,一行一个 $ vim /home/git/.ssh/authorized_keys # 粘贴客户端生成的公钥,保存退出 # 9、测试本地文件提交到远程仓库 $ vim readme.md # 编辑些内容保存退出 $ git add readme.md #添加到git缓存中 $ git commit -m 'write readme file' #提交修改 # 添加远程git仓库 $ git remote add origin git@your_host_name:/home/git/gitrepo.git $ git push origin master #这样就同步到服务器了 # 其他人要同步 # 克隆和推送: $ git clone git@your_host_name:/home/git/gitrepo.git $ vim readme.md $ git commit -am 'fix for the README file' $ git push origin master # 代码同步(HOOK) # 上边git用于做了中心的版本控制 # 但是还想让服务器接到修改更新后自动同步代码到网站目录中,便于测试开发 # 如下操作是可以实现 # 假定网站目录在/www/web下 cd /home/git/gitrepo.git/hooks vim post-receive #创建一个钩子 # 写入下面内容 GIT_WORK_TREE=/www/web git checkout -f # 保存退出 chown git:git post-receive chmod +x post-receive # 如此,下次提交修改,代码会自动同步到指定目录中
    Talk is cheap, show me the code.
  • 相关阅读:
    好文!悟透JavaScript
    关于“四舍六入五成双/四舍六入五留双/四舍六入五单双”等口诀的实例研究
    第四个:怎么应付在背地里说你坏话的人
    为什么日全食时开始下雨,10分钟后雨又停了。初中物理知识。
    吃萝卜去口气(口臭)
    今天12点34分56秒是一个神奇的时刻
    sharepoint2010人性化的地方员工离职AD账号禁用(个人网站自动提醒上级经理功能)
    指定为添加到网站中的项目显示“新”图标的天数。
    解决sharepoint2010的多行文本框的插入图片—【从sharepoint】的disabled问题
    sharepoint2010的IE6不支持的解决方法
  • 原文地址:https://www.cnblogs.com/cidgur/p/8028932.html
Copyright © 2020-2023  润新知