一、Git介绍
Git是什么、产生背景、优势等方面,本篇博文不做具体介绍。Git是由Linus Torvalds在2005年4月发明出来的版本控制系统(VCS),起初是为了方便管理Linux内核的开发工作。据Linus本人宣称,命名为Git,是因为“我是一个自私的混蛋,我照着自己命名我所有的项目,先是Linux,现在是Git”。还有一种更让人舒服的解释:全局信息追踪器(Global Informatica Tracker,GIT)。
Git在Linux/Unix系统上取得了巨大的成功。Windows下要使用很多Linux/Unix的工具时,需要Cygwin这样的模拟环境。Git也一样。Cygwin的安装和配置都比较复杂,就不建议你折腾了。不过,有高人已经把Cygwin模拟环境和Git都打包好了,名叫msysgit,只需要下载一个单独的exe安装程序,其他什么也不用装,绝对好用。msysgitT提供了友好的GUI(图形界面),安装后很快可以上手。目前去Git的官网下载windows下Git分为两种:Git for Windows Portable和Git for Windows Setup(建议使用后者)。本篇接下来的安装就围绕“Git for Windows Setup”展开。
二、Git安装
- 首先打开 Git 的官方网站: http://git-scm.com/
- 然后找到下载页面: http://git-scm.com/downloads
- 找到Windows版本的下载页面: http://git-scm.com/download/win
一、下面出现授权信息界面, Next即可:
二、选择文件关联,如果你不清楚,直接默认。 如果想要右键菜单有Git Bash Here和Git GUI Here两个命令,,就勾选下图中的勾。(建议勾选)
三、选择是否配置Path路径,选择第二个,可以通过 Windows命令行(CMD)调用 git 命令。 然后next。.
四、选择回车换行的格式。默认即可.(检出时转换为Windows风格,提交时转换为Linux格.)
到此安装完毕。打开cmd窗口,执行"git --version"命令,如图,则安装成功。
三、Git SSH Key生成
GitHub是一个提供Git仓库托管服务的网站,需要注册一个GitHub账号,就可以免费获得Git远程仓库。由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要如下设置:
1 、设置Git的user name和email:
$ git config --global user.name "你的名字(随意起)" //实际在公司做开发的时候,这个名字最好用姓名全拼,才能让别人知道,代码是谁提交的
$ git config --global user.email "youremail@gmail.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心。首先大家都是善良的开发者,其次,真的有冒充的也是有办法可查的。
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
首先。查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
然后。生存密钥:
按3个回车,密码为空。$ ssh-keygen -t rsa -C “youremail@gmail.com”
3.在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。
$ cat ~/.ssh/id_rsa.pub
拷贝屏幕上输出的“id_rsa.pub”文件的内容。
打开https://github.com/ ,登陆自己的账号,然后添加ssh。
4.测试:ssh git@github.com
The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.
RSA key fingerprint is 16: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
Warning: Permanently added ‘github.com,207.97.227.239′ (RSA) to the list of known hosts.
ERROR: Hi tekkub! You’ve successfully authenticated, but GitHub does not provide shell access
Connection to github.com closed.
------------------------------------
问题:为什么GitHub需要SSH Key呢?
因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。(相同电脑的Key只能添加一次,否则添加失败)
最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。