目录
2.1、一堆网文让你使用 Git for Windows 的 Git Bash 创建和生成 SSH key 的公私密匙(坑1)
2.2、Git-TortoiseGit使用报错:cannot spawn xxx\bin\ssh.exe: No such file or directory fatal(坑2)
3.1、生成SSHKey必须使用Putty方式生成 TortoiseGit 能够使用RSA
1、应用场景
因为很多人习惯了使用Git命令行方式进行代码提交,现在出现了很多Git提交的GUI工具,如大家经常使用的(GitHub for Desktop、Source Tree、TortoiseGit) 具体使用可以参考此篇文章:几款Git GUI客户端工具 ;本人仅仅介绍一下TortoiseGit如何使用,因为以前经常使用TortoiseSVN,对Tortoise系列比较熟悉。各位浏览文章同仁可以根据自己喜欢选择使用,但是实际情况需要根据自己团队常用那种工具。
本篇文章主要使用介绍了如何同时 既可以使用 Git 命令行方式提交代码,同时有能够使用TortoiseGit工具提交代码。
先看一下最终实现效果两种截图:
git 命令方式提交代码,并推送到github
TortoiseGit 实现提交和推送到github远端
2、实现过程之中遇见的N多坑,如何一一解决
2.1、一堆网文让你使用 Git for Windows 的 Git Bash 创建和生成 SSH key 的公私密匙(坑1)
安装方法可以参考此文章:TortoiseGit安装与使用
如果按照此种方式进行生成公私密匙,在没有安装TortoiseGit,可以通过命令行方式直接推送到github上,此种方式仅仅只能使用命令行方式。 此种方式可以参考文章:
一旦你安装了 TortoiseGit,并且在TortoiseGit此配置内容中配置相关登录账号和邮箱后,此时可以通过TortoiseGit,进行添加和push文件到github上。问题的根源:
TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥在TortoiseGit中不能用。而基于git的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于git的rsa密钥也适用于TortoiseGit的ppk密钥。
配置 即实用与Git for Windows 密钥又实用与TortoiseGit 的方法TortoiseGit 的方法 https://www.cnblogs.com/yqzc/p/6762206.html 可参考 https://www.cnblogs.com/TingJie/p/4992111.html
2.2、Git-TortoiseGit使用报错:cannot spawn xxx\bin\ssh.exe: No such file or directory fatal(坑2)
假如你以前按照过其他针对windows的git,如果(msysgit、git for windows)、并且两次安装的路径不一致;就算你卸载过但是还是会读取以前的GIT_SSH 环境变量。本人就遇见过此问题,我是安装了两次git for windows,但是两次的安装目录不一致。
于是报如下错误:
最后通过执行如下命令解决 注意路径方式 使用linux接收的路径
此篇文章极具参考价值:http://www.it1352.com/806051.html(为了避免无法访问,贴出关键内容)
此文试验过查找注册表SSH值不太起作用 https://blog.csdn.net/feinifi/article/details/79425782
基本上,这是 msysgit 的一个已知问题,谷歌用户建议使用ssh协议作为解决方法:
- 卸载Git(这不会卸载您生成的现有存储库或SSH密钥)
- 重新安装git at C:\Git
- 打开git bash
- 运行以下命令: export GIT_SSH = / c / Git / bin / ssh.exe
- 另外,没有提交,请执行 git log 来检查如果提交真的发生了。
另一个原因,如 msysgit ticket 可能是您的空间存在环境变量。
将 msysgit 等的安装移动到 C:而不是 C:\程序文件可以解决它。
3、最终实现关键步骤注意事项总结
3.1、生成SSHKey必须使用Putty方式生成 TortoiseGit 能够使用RSA
puttygen所在位置 为 安装的 TortoiseGit 目录下如下图所示:
使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥,然后通过 TortoiseGit 的工具生成PPK。
运行puttygen,点击Conversions菜单项中的Import key ,选择在刚刚生成的id_rsa文件 ,在puttygen的界面上点击Save private key按钮就可以把私钥转换为ppk的格式了,并存放好自己的ppk。
运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,图标显示为,
双击该图标,弹出key管理列表,如下图示
点击Add Key,将保存的ppk文件添加进来即可。