【Git】Gitlab添加SSH key可以pull不能push的问题

时间:2021-09-09 06:20:13

背景:使用webhook 钩子进行代码的自动更新

完整过程: https://zhuanlan.zhihu.com/p/93223263

问题: 在进行git pull 时候。报错了

【Git】Gitlab添加SSH key可以pull不能push的问题

这是gitlab 最坑比的地方!

问题原因:

gitlab有两个key这事可能你在反反复复的过程中应该已经知道了,一个是SSH一个是Deploy。SSH拥有push和pull的权限,而Deploy只能pull不能push。
没错,你生成的确实是SSH,讲道理你也应该可以push,但是千算万算你没算到gitlab有个坑。它可能觉得你懂它,所以它没告诉你

在Gitlab里有两个添加SSH的地方,

  • 一个在项目设置的密钥里,
  • 一个在Gitlab主页个人资料设置的SSH密钥里。

个人主页密钥

【Git】Gitlab添加SSH key可以pull不能push的问题

项目里的密钥

【Git】Gitlab添加SSH key可以pull不能push的问题

两个就是如此的相似

没错,正如你所想,你应该把SSH keys填在 Gitlab主页下的个人资料设置--SSH密钥里,在这里添加的才是SSH。在项目里添加的是Deploy

正确添加之后,就可以完美的 push 和 pull 了。

好了。可以大声说一句 mmp