参考文章
实践过程踩坑
1. 安装Nginx
安装是在服务器管理控制台安装,不是在本地...
2. 创建 git 用户,免密登录
完成一系列命令之后,即给相关文件添加权限之后,切换用户命令使用的是
# 切换用户,而不是ssh -v git@8.141.xxx.xxx
su git
3. 创建远程仓库
# 这里是 post-receive 写入的内容,只有一句命令
#!/bin/bash
git --work-tree=/home/www/website/ts checkout -f
然后给这个文件赋予执行权限,并创建ts文件夹
# 赋予执行权限
chmod +x post-receive
# 退出目录到 ts.git 同级目录并创建文件
cd ../../ && mkdir ts
但是push代码到服务器后始终报错,说无法创建文件,没有权限
这是因为给予post-receive
执行权限时没有成功,需要手动执行,在/home/www/website/ts.git/hooks
目录下执行sudo ./post-receive
,然后输入用户密码即可,在ts文件夹下会有刚刚push的代码
当然这不是长远之计,还需要继续研究为什么按照博主的做法没有权限