最近台式电脑硬盘出了点问题,重新装了系统,导致一些常用的软件都得重新装.这次遇到了一个git相关的问题,也解决了我之前脑海中一些模糊不清的概念,让我重新明白了问题的根源,以后知道如何来解决啦~

作为一个开发人员,对Github并不陌生,记录下使用说明:

Github是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名为github.

工具

git:是一个开源的分布式版本控制系统,可以有效高速的处理项目的版本管理

而TortoiseGit是一个开发的git版本控制系统的源客户端.我的windown_pc电脑上面就安装了Git的客户端和TortoiseGit这两个,之前是都可以使用的.而重新装了系统之后,再次使用,导致TortoiseGit无法使用,Git客户端可以正常使用.

我的习惯一般是用Git客户端来clone代码到本地,然后用TortoiseGit进行提交,推送到远程仓库,这时候就有点别扭啦~然后就开始查找原因,解决问题.

提交文件的时候,报了一个错误提示,便有了很好的线索来查找问题,我使用的是一个老版本的TortoiseGit工具,一直弹出一个错误提示框:could't agree a key exchange algorithm

解决方案:换用新版本的TortoiseGit客户端,可能Github官方有什么更新,导致老版本的小乌龟不能使用啦.

git是个好东西,tortoisegit也是个好东西.在window下使用tortoisegit比较多,而对命令的时候比较少.

对于tortoisegit可以支持使用秘钥有两种,一种是openssh的秘钥,一种是支持putty的秘钥.但是这两种不同,不过我们可以转换.

使用putty的秘钥:

在安装TortoiseGit的时候其实会让你选择默认使用的ssh客户端,默认情况下是使用TortoiseGitPlink这个客户端。

在安装tortoisegit的时候,默认还会安装有Puttygen.exe这个程序,这个程序是可以生成putty密钥的。

点击Generate按钮后会按一个进度条,然后鼠标不断在该程序内动,目的是生成一些随机数。

点击save private key保存putty的私钥,putty的密钥的后缀名是ppk。

我的window_pc电脑上面git客户端使用的是openssh的秘钥,而tortoisegit使用的是putty的秘钥,这样就可以同时使用git的命令来克隆,提交,推送代码,同时也可以用tortoisegit客户端做这些事情的.我的配置实在Github网站中SSH里面同时添加了两个的公钥

在服务器上添加openssh公钥:

我们在上面创建了putty的密钥对,现在需要将生成的公钥添加到服务器上.也可以把公钥添加到github.com上,putty生成的公钥和openssh的公钥是相同的,他们只是私钥不同而已.

putty秘钥与openssh秘钥转化:

如果你有putty的私钥了,但是想在ssh客户端下使用openssh的私钥,再去生成一个openssh的秘钥比较麻烦

点击Conversions菜单项中的Import key

选择一个putty的私钥或者openssh的私钥

点击save private key保存为putty的私钥

或者点击菜单Conversions->Export OpenSSH Key保存为openssh的私钥

TortoiseGit秘钥的配置:

TortoiseGit使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。也就是说使用ssh-keygen -t rsa -C "yourname@yourcompany.com"产生的密钥在TortoiseGit中不能用。而基于github的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥,配置步骤如下:

1、运行TortoiseGit开始菜单中的Puttygen程序

2、点击“Generate”按钮,鼠标在上图的空白地方来回移动直到进度条完毕,就会自动生一个随机的key

3、为密钥设置对应的访问密码,在“Key passphrase”和“Confirm passphrase”的后面的输入框中输入密码

4、将多行文本框中以“ssh-rsa”开头的内容全选、复制,并粘贴到github的 Account Settings -> SSH Keys -> Add SSH key -> Key字段中,这就是适用于github的公钥

5、点击“Save private key”按钮,将生成的key保存为适用于TortoiseGit的私钥(扩展名为.ppk)

6、运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,双击该图标,弹出key管理列表

7、点击“Add Key”按钮,将第5步保存的ppk私钥添加进来,关闭对话框即可

参考链接

git 小乌龟 配置_Git-Bash和TortoiseGit小乌龟客户端配置记录相关推荐

  1. WCF配置报错 在 ServiceModel 客户端配置部分中,找不到名称 和协定

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.s ...

  2. TortoiseGit小乌龟安装配置及使用

    前言 作为一个软件开发人员,不可能不知道Git.Git作为一个复杂的版本控制系统,命令之多,即使经常使用,一些命令也记不住,一般只记住几个常用的命令,不是所有使用Git命令行都是高效的.本教程不讲Gi ...

  3. Git工作笔记001---Windows下安装Git Core以及TortoiseGit安装与配置

    JAVA技术交流QQ群:170933152 刚开始用svn,用着用着就换git我去.... 安装的时候先装: Git-2.12.0-64.exe实际上我装的是其他版本,一路next装,装完,生成一个 ...

  4. TortoiseGit小乌龟基本使用

    一.下载之前 需要下载三个安装包,分别是git.小乌龟客户端.小乌龟中文语言包: 二.下载与配置: 1.下载Git并且安装,下载地址:https://git-for-windows.github.io ...

  5. git推送指令配置_git 常用命令

    git 简介 在实际开发中,会使用git作为版本控制工具来完成团队协作.因此,对基本的git操作指令进行总结是十分有必要的,本文对一些术语或者理论基础,不重新码字,可以参考廖雪峰老师的博文,本文只对命 ...

  6. 使用git实现免密操作、TortoiseGit实现SSH免密码操作

    在使用git进行版本管理的时候,每次pull.push的时候都要提示输入密码,比较麻烦. 本篇博客针对这种情况,介绍如何使用git实现免密操作.TortoiseGit实现SSH免密码操作. 1.环境配 ...

  7. linux搭建git服务器,windows客户端配置git

    Linux服务器配置之Git服务器搭建步骤: 一.配置环境 1.服务器:CentOS 8.2(64位) + Git (version 2.27.0) 2.客户端:Windows 10 (64位) + ...

  8. git status清空_Git常见命令和遇到问题的解决办法

    一.Git整体理解 Git代码管理是分布式管理方式系统,优点在于其极高的安全性和非常强大的分支管理. image.png 工作区(working directory): 就是本地的代码区,电脑能看到的 ...

  9. Git在window的使用(TortoiseGit)之一

    一.什么是Git? Git是分布式版本控制系统.它与SVN的主要区别:SVN在本地没有版本,不能脱机工作:Git是分布式控制系统,在自己的本地都有一个版本,可以脱机工作. 二.在window上安装Gi ...

  10. github ssh 配置_Git多用户配置

    Git多用户配置 " 两个仓库,github上一个,gitlab上一个,用户名与密码不同,而且两个项目都需要处理.这时候就需要配置多个用户,进行不同仓库的操作. 1. 清除之前的全局配置 # ...

最新文章

  1. 第一个Servlet和Jsp
  2. PAT (Basic Level) Practice (中文)1048 数字加密 (20 分)
  3. 搜索算法相似度问题之BM25
  4. ASP.NET Web API 应用教程(一) ——数据流使用
  5. 推荐一款免费国产远程办公神器ToDesk,TeamViewer完美替代品
  6. java 中的wait notify
  7. LINUX编译opencv
  8. 咖啡html代码,咖啡.html
  9. 快速设置 Docker 的三种网络代理配置
  10. Latex:入门教程
  11. GO Web编程---网上书店(1)
  12. 前方高能!阿里云双11拼团百团大战已开启!
  13. Google Chrome开发者工具-移动仿真:网络带宽控制
  14. 用摄像管替换电视机电路里的显现管的摄像机
  15. axure原型怎么让文字自动换行_Axure动态面板教程(快速入门+轮播图案例)
  16. 使用文本排版大师(TxtEdit/TEditer)在记事本文件中绘制表格。
  17. wgs84坐标格式转换度分秒_ArcGIS坐标单位转换(米和度分秒之间是如何转换的?)...
  18. python 人民币兑美元汇率代码_Python获取美元人民币实时汇率
  19. Java BlockingQueue
  20. 推荐系统案例-网飞电影推荐系统-Netflix Recommender system

热门文章

  1. java 字体有哪些_java字体有哪些
  2. 使用Adreno Profiler分析android游戏
  3. Custom Depth in Unreal Engine 4
  4. 体绘制的原理和Raycasting的实现
  5. AJPFX分析int 和integer的区别
  6. struts项目部署在Tomca上在断网情况下启动报错
  7. Android SDK Manager下载详解
  8. Linux内核学习笔记五——中断推后处理机制
  9. 用HTML,CSS和JavaScript创建iPhone/iPad应用程序
  10. windows installer 3.2搞定