很久没有写过博客了,只因人生世事无常!java
前言:说实话,早就据说了Git这个代码管理工具的NB之处,却一直没有时间好好学习下。如今终于有时间学习一下这个伟大的工具,在此写下在学习过程当中遇到的问题!git
推荐学习的博客地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000github
这位大大写的真不错,若是对于代码管理工具没有什么概念的同窗能够好好学习下!下面开始进入正题!服务器
操做环境:win7 Professional 、Git工具:Git Bashssh
在学习廖大大这篇教程以前,我对git的印象基本就是它是一个代码托管平台,至于怎么用彻底不知所云。在学习了基础在本地git命令操做以后,就要开始学习怎么把本身写的代码放到GitHub这个神奇的网站上去了,怎么托管。首先要让你本地的git工具与远程的GitHub创建起联系这就是--添加远程仓库。以后咱们才能方便的进行代码的同步等等的操做工具
前提:在本地你要先用所学的git命令,创建好一个本地的git项目。我这里用的项目为demogit。这里的添加远程仓库是以SSH协议的方式进行的添加。学习
第一步:建立SSH key,进行本身的主目录下(C:/此处为用户名/.ssh)。若是之前没有添加过远程仓库这里默认将会是空的。若是添加过将会有如下两个文件:id_rsa 和 id_rsa.pub 以下图(其中id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,能够放心地告诉任何人):网站
若是没有请在Git Bash中执行命令: spa
ssh-keygen -t rsa -C "youremail@example.com"
接下来一路回车就能够,最后以下图(PS:个人为从新生成了一次能够有部分地方不太同样):code
第二步:登陆GitHub添加SSH key
登陆到GitHub之后,打开“setting”,而后到“SSH keys”选项,以下图:
点击“Add key”,就添加上了,SSH key。
如下引用廖大大的话:
为何GitHub须要SSH Key呢?由于GitHub须要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,因此,GitHub只要知道了你的公钥,就能够确认只有你本身才能推送。
固然,GitHub容许你添加多个Key。假定你有若干电脑,你一下子在公司提交,一下子在家里提交,只要把每台电脑的Key都添加到GitHub,就能够在每台电脑上往GitHub推送了。
最后友情提示,在GitHub上免费托管的Git仓库,任何人均可以看到喔(但只有你本身才能改)。因此,不要把敏感信息放进去。
第三步:在GitHub网站上建立对应的项目
一、登陆GitHub,点击“Create reposity”
建立成功以后,以下图:
在建立好以后的页面提示中有三种方式让你在Git工具中进行运程提交项目,这里咱们选择第二种。
二、在Git Bash中输入下命令:
git remote add origin git@github.com:javaSwing/demogit.git
请注意这里的javaSwing为个人用户ID,demogit为的当前项目名称。再输入命令时请改成本身的(不然将推送不成功)。
三、以后在Git Bash中输入如下命令:
git push -u origin master
把本地库推送到远程,使用的是git push命令,这里使用的 –u 参数为把本地的master分支和远程的master分支进行合并,同时还把本地的master分支和运程的进行关联方便之后的项目推送。
命令显示结果以下:
zhang@ZHANG-PC ~/demogit (master) $ git remote add origin git@github.com:javaSwing/demogit.git zhang@ZHANG-PC ~/demogit (master) $ git push -u origin master The authenticity of host 'github.com (192.30.252.128)' 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,192.30.252.128' (RSA) to the list of know n hosts. Counting objects: 3, done. Writing objects: 100% (3/3), 247 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:javaSwing/demogit.git * [new branch] master -> master Branch master set up to track remote branch master from origin. zhang@ZHANG-PC ~/demogit (master)
推送以后远程的git仓库就和本地的同样了。
这里须要注意的是:
在SSH进行第一次的提交的时候会提示警告:
The authenticity of host 'github.com (192.30.252.128)' 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
yes
回车便可。
Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of know n hosts.
另处我也是写出我本身在学习过种遇到的一个错误:
这里提示个人端口不能用,知道是为何吗?这个错误让我整整查了3个小时在StackOverFlow上。
其实缘由很简单:我把github写成了githup.
因此现学习的过程当中必定要注意细节!!!!!!!!!!