每次使用Git的时候都或多或少遇到些问题,为了方便以后少踩一些坑,把自己踩过的坑记录一下,加深对Git使用的理解,所以写下这篇日记记录一下。
本文需要频繁使用cmd,如果使用系统的cmd会稍微有点不便
所以这里先推荐一款Windows平台上面个人觉得比较好用的一款cmd工具ConEmu
ConEmu下载地址:http://www.fosshub.com/ConEmu.html
1. 安装JDK,Git,TortoiseGit,准备好Android SDK
本文使用版本如下,在Win7上配置,下面这些文件自己网上随便下载,这里没有提供文件和链接
JDK: jdk-7u75-windows-x64.exe
Git: git-1.8.3-windows-1374045102000.exe
TortoiseGit: TortoiseGit-1.8.16.0-64bit.msi
Android SDK: 建议直接拷贝以前使用的,或者从别人那儿拷贝一份,自己下载的话会很慢
2. 配置环境变量,方便从命名行直接访问相关命令
Android SDK 根目录 -->变量名:Android_Home 变量值:D:android-sdk
JDK 根目录 --> 变量名:Java_Home 变量值:C:Program FilesJavajdk1.7.0_75
Git根目录 --> 变量名:Git_Home 变量值: C:Program Files (x86)Git
TortoiseGit根目录 --> 变量名:TortoiseGit_Home 变量值:C:Program FilesTortoiseGit
接下来在path里面添加如下路径:
%Java_Home%in;%Java_Home%jrein;%Android_Home%platform-tools;%Android_Home% ools;%Git_Home%in;%Git_Home%cmd;%TortoiseGit_Home%in;
3. 使用Git 命令行生成公钥和私钥
1)、进入到系统cmd(使用快捷键Win+R然后输入cmd即可进入)界面(备注:左Shift + 鼠标右键弹出菜单里面,有直接进入命令行的菜单,但是这里千万不要用这个方,因为这里进入的命令行和系统cmd进入的权限不一样,生成的秘钥是不一样的,踩过这个坑),我这里默认路径是C:UsersAdministrator,这个路径没有要求,任何目录都可以,生成钥的时候需要输入密码,这里默认写123456,后面clone代码的时候需要用到。
2)、执行命令:ssh-keygen –t rsa –C xxxx@xxx.com
3)、输入保存的文件名:id_rsa
4)、输入密码:123456 即可成功创建公钥和私钥,这里会保存到C:UsersAdministrator 目录下
执行结果如下所示:
$ ssh-keygen -t rsa -C username@qq.com
Generating public/private rsa key pair.
Enter file in which to save the key (//.ssh/id_rsa): id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
08:0f:a3:dd:5f:33:7a:aa:67:ff:e2:c4:1a:5e:21:ac username@qq.com
4. 在当前用户目录创建.ssh目录,并把id_rsa文件放入其中
当前用户目录一般是在C盘用户目录下面的Administrator目录或者其他的用户目录(如果为系统创建过其他用户)。 这里我的是C:UsersAdministrator 目录,进入C:UsersAdministrator目录,如果没有 .ssh目录,在当前目录下进入cmd执行命令 mkdir .ssh 即可创建。
备注:有些Git版本id_rsa可能不是放到用户目录的.ssh目录,而是放到Git的安装目录下的.ssh,这个后面会有提到。为什么要放到这个目录呢:因为Git会默认在这个路径下面搜索id_rsa文件,不过这个东西也是可以修改的。
5. 把公钥上传到服务器
用文本文件打开id_rsa.pub,复制里面的全部文本,登录代码仓库服务器,添加新的ssh-key,粘贴复制的内容到key里面,Title会自动生成,这里可以仿照在github上面添加ssh-key一样的步骤添加。
6. 使用命令行下拉代码
进入cmd,进入存放代码的文件夹目录执行git命令
1、执行“git init” 初始化git环境,然后调用
2、执行“git clone 服务器代码路径”,开始下拉代码
备注:如果clone代码不成功,则把id_rsa文件放到git安装目录下的.ssh目录下,默认安装的话是 C:Program Files (x86)Git.ssh
7. 配置用户名和邮箱
要提交代码的时候,服务器上面显示是谁提交的代码,这里需要自己配置,配置的时候有两种方式,一种是全局配置(所有地方都用同样的用户名和邮箱),一种是针对各个工作目录自己配置。 进入cmd,进入代码工作目录,进行如下配置。
全局配置:双引号也是命令内容
git config --global user.name “name”
git config --global user.email “email”
局部配置(命令行需要进入对应的代码工作目录):双引号也是命令内容
git config user.name “name”
git config user.email “email”
8. 使用TortoiseGit来下拉代码配置1--->生成 .ppk文件
如果按找第2步中配置了相关环境变量,那么可以直接在cmd中打开puttygen(也可以到TortoiseGit的安装路径下找到C:Program FilesTortoiseGitinputtygen.exe)
点击下图中规定load加载私钥id_rsa,然后点击Save private key生成TortoiseGit需要使用的ppk文件(id_rsa.ppk)
9. 使用TortoiseGit来下拉代码配置2--->配置TortoiseGit客户端
打开TortoiseGit设置页面,配置相关参数如下:配置用户名和邮箱,配置服务器代码路径和上面得到的id_rsa.ppk路径,进入TortoiseGit的Settings页面,点击左边导航栏的Git目录,设置用户名和邮箱(Name, Email),Name会在提交代码的时候显示出来,如果之前使用git config配置过,这里也可以不用配置的。
然后点击Git下的Remote菜单,添加一个origin远程仓库分之信息:Remote是为远程分之起个名字,URL是远程仓库地址,Putty是id_rsa.ppk文件路径
至此就可以使用TortoiseGit正常工作了,可以试试pull,commit等功能
后续会考虑写一篇介绍Git同时配置支持多个账户的情况