好久没有写过博客了,只因人生世事无常!

前言:说实话,早就听说了Git这个代码管理工具的NB之处,却一直没有时间好好学习下。现在终于有时间学习一下这个伟大的工具,在此写下在学习过程中遇到的问题!

推荐学习的博客地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

这位大大写的真不错,如果对于代码管理工具没有什么概念的同学可以好好学习下!下面开始进入正题!

操作环境:win7 Professional 、Git工具:Git Bash

 

一、为什么要添加远程仓库?

    在学习廖大大这篇教程之前,我对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中执行命令:

ssh-keygen -t rsa -C "youremail@example.com"

接下来一路回车就可以,最后如下图(PS:我的为重新生成了一次可以有部分地方不太一样):

第二步:登录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网站上创建对应的项目

1、登录GitHub,点击“Create reposity”

创建成功之后,如下图:

在创建好之后的页面提示中有三种方式让你在Git工具中进行运程提交项目,这里我们选择第二种。

2、在Git Bash中输入下命令:

git remote add origin git@github.com:javaSwing/demogit.git

请注意这里的javaSwing为我的用户ID,demogit为的当前项目名称。再输入命令时请改为自己的(否则将推送不成功)。

3、之后在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

这是因为Git使用的是SSH连接方式,而SSH在第一次验证的时候GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入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.

我想打我自己了!

所以现学习的过程中一定要注意细节!!!!!!!!!!

Git学习之添加远程仓库的更多相关文章

  1. Git学习笔记(二) 远程仓库及分支

    添加远程仓库(以GitHub为例) 所谓的远程仓库,其实就和本地仓库一样,只是我们本地电脑可能会关机什么的.远程仓库的目的就是保证7*24小时开启状态.GitHub是一个很好的公共Git远程仓库(后面 ...

  2. git教程:添加远程仓库

    转自: 添加远程仓库 现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过 ...

  3. Git学习笔记四--远程仓库

    Git远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上. 怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本 ...

  4. maven 学习---Maven添加远程仓库

    默认情况下,Maven从Maven中央仓库下载所有依赖关系.但是,有些库丢失在中央存储库,只有在Java.net或JBoss的储存库远程仓库中能找到. 1. Java.net资源库 添加Java.ne ...

  5. 【Git学习笔记】远程仓库

    第一种情景:本地初始化一个Git仓库后,接着又在github上创建了一个Git仓库,现在要让这两个仓库进行远程同步. 1. 关联本地仓库就和远程仓库  $ git remote add origin ...

  6. git学习3:远程仓库

    Git是分布式版本控制系统,同一个git仓库,可以分布到不同的机器上,那么需要有一台机器上有一个原始版本库,这样别的机器可以克隆这个原始版本库,那么这台机器就是github. 1,创建SSH Key. ...

  7. Git学习笔记——搭建远程仓库

    有空再把笔记移上来 注意点:git remote add origin不是相对于所有git仓库,只相对于当前git仓库 心得:远程建立裸仓库,意味着我不应该直接操作远程仓库.如果我是管理员,我应该先p ...

  8. git学习笔记 ---添加远程库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

  9. git 添加远程仓库遇到的问题

    上午在学习廖雪峰老师的 git 教程(http://www.liaoxuefeng.com/),在添加远程仓库这一节中遇到了两个问题: 问题描述: 一.关联自己的远程仓库. fatal: Not a ...

随机推荐

  1. jQuery-弹窗登录

    在jQuery中实现弹窗常要用到的方法有: width()  :元素的宽度 outerWidth()  元素的宽度 盒子的padding+border 总的宽度 scrollTop()  鼠标滚轮自上 ...

  2. YII 集成jquery

  3. Java笔记原生数据类型【二】

    1.Java中的数据类型分为: 1)原生类型(primitive Data type) 2.)引用类型(对象类型) (Reference Type) 1.变量和常量: 常量: 就是值不会变化的量: 变 ...

  4. SVN 使用的简单整理

    1. 在SVN服务器上创建存储Dir,并和个人主机建立联系.      现在SVN服务器上创建一个存储文件夹svn_storeDir.然后在个人电脑上建立一个本地文件夹local_Dir.    进入 ...

  5. 离散傅里叶变换(DFT)

    目录     一.研究的意义     二.DFT的定义    三.DFT与傅里叶变换和Z变换的关系     四.DFT的周期性     五.matlab实验       五.1 程序         ...

  6. [转载]网络编辑必知常识:什么是PV、UV和PR值 zz

    1.什么是pv PV(page view),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标. 高手对pv的解释是,一个访问者在24小时(0点到24点)内到底看了你网 ...

  7. 151111 sqlite3数据库学习

    最近在学习数据库,想起去年做的项目里用到了sqlite3.那时候,没有任何的数据库经验,误打误撞,找到了sqlite3,然后参考网络上零碎的信息,把它嵌入到工程里,并且成功了.可惜,那时候没有好好保存 ...

  8. ctr预估模型

    http://wenku.baidu.com/course/view/1488bfd5b9f3f90f76c61b8d

  9. SharePoint Designer cannot open site error " the server could not complete your request"

    3.SPD cannot open site, in the log :Error when open web service: System.InvalidOperationException: A ...

  10. codeforces Dima and Bacteria

    题意:给出n,m和k,表示有n个细菌,m种仪器和k种细菌,给出k种细菌的数量ci,然后每个细菌按照种类排成一排(所以有第i种细菌的序号从∑(1≤j≤i-1)cj + 1 到∑(1≤j≤i)cj):接下 ...