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

首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:

在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:

目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:

$ git remote add origin git@github.com:michaelliao/learngit.git

请千万注意,把上面的michaelliao替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。

添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

下一步,就可以把本地库的所有内容推送到远程库上:

$ git push -u origin master
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 13.73 KiB, done.
Total 23 (delta 6), reused 0 (delta 0)
To git@github.com:michaelliao/learngit.git* [new branch]      master -> master
Branch master set up to track remote branch master from origin.

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:

从现在起,只要本地作了提交,就可以通过命令:

$ git push origin master

把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!

SSH警告

当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?

这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。

Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:

Warning: Permanently added 'github.com' (RSA) to the list of known hosts.

这个警告只会出现一次,后面的操作就不会有任何警告了。

如果你实在担心有人冒充GitHub服务器,输入yes前可以对照GitHub的RSA Key的指纹信息是否与SSH连接给出的一致。

小结

要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!

远程仓库---添加远程库相关推荐

  1. 在自己的服务器上搭建git仓库服务器(本地推送到远程仓库、远程仓库推送到本地)

    文章目录 Git服务器 一.安装Git 二.配置Git 1.创建Git用户 2.仓库初始化 三.使用仓库 1.本地推送到远程仓库 2.远程仓库推送到本地 总结 Git服务器 一般,我们编写项目,都会保 ...

  2. 【Git】Git 标签使用 ( 创建并查询标签 | 推送单个标签到远程仓库 | 推送所有标签到远程仓库 | 删除远程仓库的标签 )

    文章目录 一.创建并查询标签 二.推送单个标签到远程仓库 三.推送所有标签到远程仓库 四.删除远程仓库的标签 一.创建并查询标签 执行 git log --pretty=oneline --abbre ...

  3. 远程仓库---从远程库克隆

    上次我们讲了先有本地库,后有远程库的时候,如何关联远程库. 现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫gitskill ...

  4. mac机器下远程仓库添加完毕之后,却无法上传应有的内容。

    Permission denied (publickey). fatal: Could not read from remote repository.Please make sure you hav ...

  5. 【连载】Git和GitHub的使用——有了远程仓库,妈妈再也不用担心我的硬盘了

    我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...

  6. Git实现从本地添加项目到远程仓库

    Git是现在最流行的版本控制系统之一了,今天也试试了,成功了上传了远程仓库,接下来看看我是怎么做的. (ps:七牛抓取不到图片,请移步:http://blog.csdn.net/u011043843/ ...

  7. git操作:将远程仓库(主库)更新到本地,并同步到fork的个人库

    适用场景:在不能直接push或者pull主库(远程仓库)的情况下(如公司的代码库不能随意操作),需要先fork到自己的个人仓库,然后再git clone到本地. 此时需要将主库的修改更新到本地,再将自 ...

  8. Git添加远程子仓库

    Git添加子仓库 1.创建一个空的文件夹,然后 gti init 初始化成git仓库: 2.添加子仓库 git submodule add [addr](子仓库远程地址) 3.进去刚刚创建的文件夹可以 ...

  9. git添加远程仓库并向远程仓库推送

    1.注意要在远程仓库添加公钥 2.添加远程仓库 git remote add 远程仓库名称 远程仓库地址eg:git remote add origin1 git@47.98.105.119:/ind ...

最新文章

  1. jupyter分割代码块_科研分享—Python根据关键词自动抓取Pubmed文献标题(附全部代码)文末有福利...
  2. map根据value值排序_凯哥带你从零学大数据系列之Java篇---第十九章:集合(Map+Collections)...
  3. 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
  4. “斐波那契数列”的两种算法
  5. 【云隐】STM32F103C8T6实现串口IAP方式升级固件
  6. 爬虫篇——代理IP爬取备用及存储
  7. Linux下常用的压缩与解压命令
  8. [scala-spark]2. Scala运行原理与源码查看
  9. Unet项目解析(6): 图像分块、整合 / 数据对齐、网络输出转成图像
  10. 基于Adaboost实现鸢尾花数据集分类
  11. maven打包指定main函数
  12. 【CodeForces - 227A】Where do I Turn? (计算几何,叉积判断直线拐向)
  13. undefined reference to `jpeg_std_error(jpeg_error_mgr*)
  14. Hi3519V101开发环境搭建(一)
  15. SCCM 2007系列教程之四在工作组环境内实现SCCM客户端
  16. 机器学习Scikit-Learn模块详解
  17. 《疯狂Java讲义》(七)---- 方法
  18. 转【input type=file 标签禁止让用户手动输入】
  19. mac上iphone4刷机与越狱(二)
  20. spc 统计过程控制(Statistical Process Control)分析软件

热门文章

  1. 图像特效——摩尔纹 moir
  2. 成功更新至Win8.1 update
  3. openstack中swift和cinder中的区别
  4. [转载] 大道至简:软件工程实践者的思想——第十章 是思考还是思想
  5. CodeForces - 1549F1 Gregor and the Odd Cows (Easy)(几何+数论)
  6. 牛客多校7 - Pointer Analysis(模拟)
  7. CodeForces - 1332B Composite Coloring(数论+构造)
  8. 漫游Kafka实战篇之搭建Kafka运行环境
  9. Sqlserver中char,nchar,varchar与Nvarchar的区别
  10. Django模型(二)