git推送到vps
git推送到vps
本地操作
- 安装git
- 生成ssh密钥
1 | git config --global user.name "yourname" |
最后生成的ssh密钥在~/.ssh/中
VPS操作
- 安装并配置Git
安装后您可能想要做的第一件事是在Git中配置自己的名称和电子邮件地址,以便您提交的更改包含正确的信息。 您可以通过使用以下命令来完成此操作:
1 | git config --global user.name "yourname" |
- 创建git用户并切换到git用户
1 | adduser git |
根据提示填写内容。这步很重要,不切换用户后面需要手动修改文件的拥有者与组
- 创建仓库
1 | cd /var/www/ |
- 添加钩子函数
钩子函数在push文件后执行checkout
1 | cd blog.git/hooks |
post-receive内容如下
1 | #!/bin/sh |
测试git仓库是否可用,在本地机器另找空白文件夹,执行如下命令
1 | git clone git@server_ip:/var/www/repos.git |
clone没有报错,提示clone到空的resp
- 建立本地与vps ssh信任关系
将本地的公钥复制到vps的authorized_keys文件里(公钥即上文中本地执行cat ~/.ssh/id_rsa.pub查看的内容)
1 | su git |
push本地文件
经过上述步骤后,可以将本地文件push到vps中,以hugo为例,进入publish目录,初始化git仓库,操作如下
1 | cd publish |
修改本地文件后,可以使用脚本一键push
1 | #!/bin/bash |
note:
从本地git push到vps中的文件owner与group都是上文中创建的git用户,需要确保nginx有权限访问这些html文件,可以将nginx worker用户与git放到一个组,设置文件组访问权限
参考链接
- 本文标题:git推送到vps
- 本文作者:fanpengyusk
- 本文链接:https://fanpengyusk.github.io/posts/1a54ada2/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!