上一篇文章刚在win10系统上爬摸打滚把gerrit给配置好,换 MacBook 之后又得重来一次……
按照网上很多说法执行 ssh-keygen -t rsa -C "xxx@xxxx" 将生成密钥贴到gerrit-setting-ssh public key 但是最终在执行scp -p -P 29418 xxx@1.2.7.12:hooks/commit-msg .git/hooks/的时候还是会报错没有权限
原因是ssh版本太高需要提供能被OpenSSH 8.8
认可的密钥类型,比如 OpenSSH
推荐的Ed25519,尝试执行以下脚本
ssh-keygen -t ed25519 -C "zho@axx.com"并将生产的公钥贴到 gerrti,最后执行scp -p -P 29418 xxx@1.2.7.12:hooks/commit-msg .git/hooks/ 拷贝服务器的 commit-msg还是报错
网上解决这个subsystem request failed on channel 0 的方案都是 scp -p 改成 scp -o 我试了下还是不行,最后我只能妥协将之前 win10 上生成的 commit-msg拷贝到项目路径下/.git/hook/下然后回到 idea重试 commit 成功了生成了Change-Id
执行 push之前还需要先执行提交到Gerrit 待审核的新分支 git config remote.origin.push "refs/heads/*:refs/for/*" 再回到 idea进行 push 后续使用 idea 的 commit/push 无忧啦~(也可以直接执行git push origin HEAD:refs/for/master 进行push)