某人

此前素未谋面、此后遥遥无期

0%

Git与tortoisegit的使用

Git工具

GIT (分布式版本控制系统),下载地址: https://git-scm.com/downloads/
下载完成后,安装。

在使用git前,需要告诉git自己是谁以及自己的邮箱是什么,所以我们需要对git进行一些基本设置。打开终端(Windows打开安装git时安装的git bash)执行如下命令

1
2
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"

配置SSH公钥

ssh是一种安全的传输协议,SSH 密钥总是成双出现的,一把公钥,一把私钥;

公钥登录:就是用户将自己的公钥储存在远程主机上,登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来,远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录 ,不再要求密码;

github支持使用 SSH 协议来访问 github仓库,用户可以在账户里面设置 SSH公钥,使用自己的私钥来获取github的相应全权限。

注意:一个公钥只能认证一个用户,而一个用户却可以拥有多个公钥。

生成SSH key

1、检查SSH keys是否存在,一般默认会在账户的主目录下的 ~/.ssh 目录

关键是看有没有 xxx 和 xxx.pub 来命名的一对文件,这个 xxx 通常就是 id_dsa 或 id_rsa。有 .pub 后缀的文件就是公钥,另一个文件则是密钥。假如没有这些文件,或者干脆连 .ssh 目录都没有,可以用 ssh-keygen 来创建

2、生成ssh key

1
ssh-keygen -t rsa -C "你的邮箱"

然后根据提示连续回车即可在~/.ssh目录下得到id_rsa和id_rsa.pub两个文件,id_rsa.pub文件里存放的就是我们要使用的公钥key。

3、复制到github账户

将id_rsa.pub文件的内容(公钥key),复制到上面的文本框(key),标题(title),自己命名,点击(Add SSH key)。

4、测试本地与github

执行下面命令:

1
ssh -T git@github.com

成功后会提示:

1
Hi XXXXXX! You've successfully authenticated, but GitHub does not provide shell access.

这样,你和你的github通讯,再也不需要登陆验证了。

配置中文

项目目录,有中文目录,中文文件,提交日志,中文显示为八进制的字符编码

设置相应参数其值为(false):

1
git config --global core.quotepath false

到此,基本就可以正常显示中文了,git的主要配置基本上差不多了

1
2
##GBK字符集设置
git config --global i18n.commitEncoding gbk

tortoisegit安装

TortoiseGit是一个开放的git版本控制系统的源客户端,支持Winxp/vista/win7。

tortoisegit下载地址:https://download.tortoisegit.org/tgit/,里面各个版本;

The current stable version of TortoiseGit is: 2.3.0(当前稳定的版本)
The latest preview releases can be found here.(最后发布的版本)

点击一个版本进去下载,选择适合自己系统位数的版本下载,再下载简体中文语言包。

  • 先安装tortoisegit,一路全部默认。
  • 再安装语言包,等待安装完成。

在空白处鼠标右键, 选择 TortoiseGit =》 Settings, 然后选择,Genera,再选择相应的语言,应用就行了,就行了

检查tortoisegit配置

之前已经配置过了git,并且使用git与github进行通讯,读写github上的文件,并推送到github.

检查Tortoisegit 设置里面的 GIT选项,此时发现默认选中(实际生效),
读取到的用户名,和邮箱是你git配置的用户名和邮箱

点击 “编辑全局 .git/config(O)”按钮,设置记住密码

1
2
3
4
5
6
7
8
[gui]
[user]
email = xxx@163.com
name = xxx
[credential]
helper = store
[core]
quotepath = false

检查ssh客户端路径,默认类似如下

如果你使用的是比较新,如现在的2.3.0.的版本的话,基本上已经可以从github上拉去项目,并推送项目了。

用TortoiseGit为github账号添加SSH keys

设置SSH key后,与远程服务器同步代码时,就不必每次都要输入用户名和密码了;

用TortoiseGit作为本地管理工具,而TortoiseGit,使用扩展名为ppk的秘钥而不是ssh-keygen生成的rsa密钥。也就是说使用ssh-keygen -C “username@email.com“ -t rsa产生的密钥TortoiseGit中不能用;

而基于github的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥;

  • 打开TortoiseGit下的PuttyGen;
  • 在打开的窗口中点击Generate按钮,会出现绿色进度条,等下生成,生成过程中可以多晃晃鼠标增加随机性。
  • 直到进度条完毕
  • 生成之后复制生成的全部内容(公钥),窗口先留着不关闭,同时下面有两个按钮(保存公钥和保存私钥)
  • 登录到github,找到的SSH key之后点击Add SSH key在出现的界面中填写SSH key的名称,再点击add key就可以了。

  • 回到窗口,点击Save private key按钮保存为适用于TortoiseGit的私钥扩展名为.ppk的文件

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

  • 点击add key,将保存的私钥.(.ppk)文件载进来。

至此,,就可以使用TortoiseGit进行push、pull操作了

OpenSSH 到 PuTTY 的转换

转换需要用到 PuTTYgen应用程序,就是刚才生成TortoiseGit的SSH key的那个:

  • 单击 “Conversions” 后再单击 “Import key”
  • 选择你的OpenSSH private key (私钥),如github生成的私钥.ssh目录的id_rsa文件,此时会生成SSH的公钥,也可保存适用于TortoiseGit的ppk私钥
  • 然后你想要的公钥和私钥就都有了,不用重新生成了

PuTTY 到 OpenSSH 的转换

  • 单击 “Load”按钮,选择用于TortoiseGit的.ppk私钥文件,此时会生成相应的公钥私钥
  • 单击 “Conversions” 然后单击 “Export OpenSSH key”,此时就得到github需要的SSH私钥

  • 然后公钥私钥你都有了,不用重新再生成了