使用GitHook同步跳坑笔记
背景
同一台服务器内(git仓库和代码在同一台),以前总是手动去更新代码,一直想用githook去同步,但想着这样直接更新线上代码不好,所以一直没去弄。
最近这台服务器渐渐变成了测试服务器,也就不存在直接更新代码的不好了,真想向svn那样直接看到效果。
所以弄一下git hook
没想到这也遇到了一些坑
参考
使用 Git 同步部署代码(二) - Git Hook 同步
Git error: “Host Key Verification Failed” when connecting to remote repository
为什么会入坑
1、一直用root账户使用服务器,但提交代码时,是以git身份更新
2、设置了git账户不能登录(当初配置的时候禁用了登录,所以不能收到具体的错误提示,一直在瞎猜)
3、设置目录的权限给了www
配置过程
git项目仓库在 hooks 目录下新建 post-update 文件,编辑完成后设置权限 chmod +x post-update, 文件如下
1 |
|
坑位
1、错误提示
1 | remote: ------ |
解决方法:
1 | su git |
2、我的仓库地址,长这样(其实没什么问题,只是网络上的和我都不一样)
1 | ssh://git@47.xx.xx.82:8080/home/git/data/company/xxx.git |
3、错误提示2
1 | error: insufficient permission for adding an object to repository database ./objects |
解决方法:
因为项目目录的权限是www的。导致更新不了。
1 | chown -R git:git ./xxxx |