Git SSH 方式无法 push 踩坑

引言

我们知道使用 git 管理的项目可以通过两种格式的 url 来获取,分别是 和

  • 使用 HTTP 方式操作 git 工程需要输入对应的账 和密码,当然为了方便也可以使用诸如 TortoiseGit 这样的图形化工具来管理 Git 工程,而且其中自带记住账 和密码的功能,因此只需输入一次账 密码即可。

  • 使用 SSH 的方式拉取 Git 项目则需要提前配置好 SSH key ,也就是我们常说的公钥和私钥

 

遇到的问题

假如直接在本地安装 Git 之后,使用 去生成公钥和秘钥,然后把用户目录下的 目录中 文件中的内容配置到目标项目的部署秘钥中,例如 中:项目右上角的 ——> ,然后添加上面生成的公钥内容。

SSH url 的格式 :

发现可以 拉取工程 ,也可以通过 更新工程,但是没办法 到远端仓库,提示如下:

 

正确配置

正确的方式是将公钥内容添加到 ——> 秘钥中,这才是真正配置 SSH 的地方,直接将其配置到项目中的话,就会出现只能 pull 不能 push 的问题。

 

TortoiseGit 配置

——> ——> (中文版: ——> ——> )然后一直 next 直到 页面,这里有两种方式 : (默认)和 ,区别其实就是依赖的客户端不同,使用时也有所区别:

  • 选择 的方式只要使用了 生成了公钥和私钥即可用;

  • 选择 则需要使用 工具生成 文件,然后再使用 Git 自带的工具 ()去添加之前创建的 文件才可使用。

参考

  • Gitlab添加SSH key可以pull不能push的问题

  • 服务器上的 Git – 生成 SSH 公钥


 

文章知识点与官方知识档案匹配,可进一步学习相关知识Git技能树首页概览2888 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月23日
下一篇 2019年1月23日

相关推荐