hexo 博客,源码和生成页面分为 A 、B 两个仓库
定义本本机为 C,服务器为 S
已知两个博客已经配置好 githook 和实现了自动 pull 。
目前工作流是 C push 到 gitee 后,S 收到 githook 自动分别 pullA 、B 仓库
现在想改为由 C push A 后,在 S 端自动 hexo g -d 生成和 pushB 项目的源码。
但是现在遇到以下问题
1 、S 使用的是仓库的 ssh 公钥,非个人公钥,只有 git pull 权限。所以在 hexo push B 项目到远程仓库时可能会遇到权限。
所以产生以下疑问:
1 、服务器的 ssh 公钥可否实现部分仓库具有 push 权限、部分仓库不具有 push 权限?
2 、能否为 gitee.com 针对不同仓库使用不同的公钥?
By the ways,顺便问一下关于 git 的远程仓库别名的问题。
默认仓库是 git origin https https://xxx,(可 pull 、push 、需密码)
已经使用 git remote add githook ssh://xxx (只 pull 、免密)增加了 githook 远程仓库
怎么设置才可以既通过
3 、git pull githook 自动从 githook 源 pull 代码
注意,第 3 点实现时,会提醒错误,需要携带分支名才可以实现,如git pull githook master
。
由于设置自动部署时当前分支可能不是 master,如果携带具体分支可能会导致 merge 异常。但是将 githook/master 与本地 /master 绑定,git pull 又不能免密从 origin 源下载。
为啥 ssh 是免密 pull,但没有 push 权限呢?我想的是万一某天被 H 入侵了服务器,没有 push 权限他也动不了代码。而通过 https 则要求操作员每次都要输入密码,看起来好像安全了一点点。