下面将本人翻译的Git生成ssh key的帮助文档,晒一晒,由于本人英语也很烂,翻译这篇快用了一天的时间,其中错误也可能不少,英文好的童鞋可直接查看它的原文http://help.github.com/win-set-up-git/:
Set Up Git
首先下载并安装: Git
1. 下载最新的版本Git for Windows.
安装过程中每一步使用默认的选项.
不要使用PuTTY ,如果勾选了这个选项. GitHub将仅仅对 openssh提供支持.
下一步: 设置 SSH Keys
我们通过SSH keys使你的计算机与CitHub之间建立一个安全连接。设置这相当的简单,其中分为几步。
确保生成一个全新的key,你需要检查是否已存在key,首先你需要打开GitBash(不是windows命令行),找到“开始菜单”中的git选项
1. 检查 SSHkeys. 有一个现有的密钥对? 你可以跳到第4步.
首先,我们需要检查在你电脑上存在的SSH key:
$ cd ~/.ssh
如果输出为“No such file or directory“ 则跳到第3步. 否则继续第2步.
2. 备份和删除已存在的SSHkey.
如果已经存在了SSH key你需在将其备份并删除它:
$ ls
config id_rsa id_rsa.pub known_hosts
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
3. 产生一个新的SSHkey.
产生一个新的SSH key, 输入下面的代码.如果你是配置默认的设置时,则当问你输入保存key的文件时你只需要按Enter键。.
$ ssh-keygen -t rsa -C "your_email@youremail.com"
Generating public/private rsa key pair. Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<press enter>
现在你需在输入口令.
Enter passphrase (emptyfor no passphrase): <enter apassphrase>
Enter same passphraseagain: <enter passphrase again>
接下来将会输出 像这样的:
Your identification has been saved
in /Users/your_user_directory/.ssh/id_rsa.
Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub. The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db user_name@username.com
The key's randomart image is:
+--[ RSA 2048]----+
| .+ + |
| = o O . |
| = * * |
| o = + |
| o S . |
| o o = |
| o . E |
| |
| |
+-----------------+
1. 添加你的SSHkey到GitHub
在GitHub的网站上按“Account Settings” > 按“SSH Public Keys” > 按“Add another public key”
用编辑器(Notepad, TextEdit, orgedit等)打开id_rsa.pub 文件 . 这就是你的公共SSH key. 你需在找开“view hidden files(查看隐藏文件)” 来找到它因为.ssh目录是隐藏的.复制完全你的SSH key ,注意它没有换行符与空格符.
现在将它粘帖到“Key”输入框.

单击”Addkey”
2. 测试.
为了确保正常的运作你现在需在SSH到GitHub. 不要改变 “git@github.com” 部分. 如下.
$ ssh -T git@github.com
这样将会有如下的结果
The authenticity of host 'github.com (207.97.227.239)'can't be
established.
RSA key fingerprint is16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
不在担心,这里应该输入yes。
Hi username! You've successfullyauthenticated, but GitHub does not provide shell access.
现在: 设置你的信息
现在你已经部署了Git并将你的 SSH keys输入到了GitHub,现在就开始设置你的个人信息.
- 设置你的用户名和邮箱.
通过检查用户名和邮箱Git确定每次的用户提交.此外 我们通过这样的信息与你的GitHub帐户提交相关联.输入下面的代码来设置, 替换你自己的名称与邮箱,name 应该是你的实际名字不应该是你的GitHub 用户名.
$ git config --global user.name"Firstname Lastname"
$ gitconfig --global user.email "your_email@youremail.com"
2. 设置你的GitHub令牌(token).
一些工具连接GitHub 不需要SSH. 为了能使用这些工具你需在找到并配置你的API令牌.
在GitHub网站上 单击 “Account Settings”> Click “Account Admin.”

在命令行下运行如下代码,使用你的GitHub 用户名和令牌。
$ git config --globalgithub.user username
$ gitconfig --global github.token0123456789yourf0123456789token
*注意* 你如你更改了GitHub 密码,则生产生新的令牌这样你就需要更新它.
Create A Repo
首先: 创建一个库
每当你使用Git提交,它都将被保存在一个库中(又名“repo”). 上传你的项目在GitHub,你将需在一个GitHub库在存放它。
单击”New Repository”
将这个页面填写好,单击“Create Repository.”
这样你就创建了你的第一个库!!
接下来: 给你的库创建一个README(说明) .
README 不是GitHub 库必须的部分,但有一个是一个好的习惯.README能够很好的介绍你的项目,和添加的一些文档来描述你的项目如何安装.
1. 创建 README 文件
在命令提示符下输入如下代码:
$ mkdir ~/Hello-World #在你的项目下创建一个hello-world的目录
$ cd ~/Hello-World
$ git init
Initialized empty Git repository in /Users/your_user_directory/Hello-World/.git/
$ touch README
找到你的Hello-World 目录用文本编辑器打开新建的 README文件,在其中添加
“HelloWorld!”,完成后保存并关闭。
2. 提交README
现在你已经设置好了 README, 现在就可以提交它. 提交本质上是一个项目中的所有文件在一个特定的时间点的快照.在命令提示符下输入:
$ git add README
$git commit -m 'first commit'
上面的执行的代码只是在本地运行, 这就意味着你在GitHub上没有做任何事.将你的本地库连接到GitHub帐户,提交来发部到你的远程库上:
$ git remote add origin git@github.com:username/Hello-World.git
$ git push origin master
现在你可查看在 GitHub上的库, 你将会发现README 已经添加在上面了.
分叉一个库
首先: 分叉一个库
有时候,你发现你需要帮助参与一个其他人的项目,或可能已其他人的项目做为自已项目的起点,这就是”分叉”,对于这个手册,我们将合用Spoon-Knife 项目
1. 分叉 “Spoon-Knife ”库
单击“Fork” 按钮,来分叉这个项目
接着:设置你本地的库
你已经成功能分叉了Spoon-Knife 库,但它仍然存在于GitHub.为能让其成为一个可编辑工作的项目,你需要挎贝它到你本地的机器上。
1. 克隆 “Spoon-Knife” 项目
运行下面的代码:
$ git clone git@github.com:username/Spoon-Knife.git
2. 配置远程的
当一个库被克隆, 则它将有一个默认的远程调用名 origin
这样指出你在GitHub的分叉,没有原库是分叉来的,为了保证你与原库的跟踪,你需要去添加其它的远程名upstream
:
$ cd Spoon-Knife
$ git remote add upstream git://github.com/octocat/Spoon-Knife.git
$ git fetch upstream
现在: 你可以做一些其他的事
- 推入提交
当你为一个分叉库做了一些提交并想将其推入到你的分叉项目中,你可以像处理一个普通的库那样:
$ git push origin master
· 更新upstream 库的改变
如果你分叉的原库更新了,你可以添加这些更新到你的库中通过下面的代码:
$ git fetch upstream
$ git merge upstream/master
- 操作分行
分行(Branching)充许你构建新的功能或测试而不会危及你的主要项目. 一个Git分行(branch)只是引用提交成熟提交的一个小文件. 这使得Gitbranches很小并且很容易操作
- 请求参与
如果你希望参与原分叉库,你可以给原库作者一个 pull request.
- 跳过主库更新
当你分叉的是一个非常流行的库,你发现自已不想更新可以退订主库的更新. 你只需在主库的上面单击 “Unwatch” 按钮。
- 删除你的分叉
当你删除一个分叉库时同删除普通的库一样。