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

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

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

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

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

[root@node1 git]# git remote add origin git@github.com:michaelliao/learngit.git

请千万注意,把上面的michaelliao替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

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

[root@node1 git]#  git push -u origin master
Counting objects: , done.
Compressing objects: % (/), done.
Writing objects: % (/), 2.67 KiB | bytes/s, done.
Total (delta ), reused (delta )
remote: Resolving deltas: % (/), done.
To git@github.com:/git.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页面中看到远程库的内容已经和本地一模一样

推送本地文件到github

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

[root@node1 git]# git push origin master

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

将远程文件拉取到本地

[root@node1 git]# git pull origin dev

拉取远程分支到本地

git clone https://github.com/18322517126/name.git

可以通过ls查看

$ ls -a
name/ $ cd name

拉取远程dev分支到本地

第一种方式

#先在本地创建dev分支
git branch dev #拉取
git checkout origin/dev

第二种方式

git clone https://github.com/18322517126/name.git

cd  name

git checkout -b origin/dev

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连接给出的一致

最新文章

  1. win10没有新建文件夹
  2. 如何阅读android framework源码
  3. Spring使用ThreadLocal技术来处理这些问题
  4. Worker Thread
  5. wikioi 1076 排序 【这里含冒泡、选择、插入以及快排库函数的调用】
  6. Android真机调试的时候logcat中无法输出调试信息的解决办法
  7. 并行HASH JOIN小表广播问题
  8. Request.getparameternames 获取form表单里面所有的请求参数 。 返回一个Enumeration类型的枚举.
  9. JavaScript 优雅简单的拼接字符串
  10. 取KindEditor中的textarea的值区不到的解决方案,固定kindEditor的高度
  11. Java开发笔记(三十五)字符串格式化
  12. Log4j分级别存储日志到数据库
  13. leetcode-66.加一
  14. 前向星&链式前向星
  15. H5 34-背景图片
  16. 11个超震撼的HTML5和纯CSS3动画源码
  17. 第14月第23天 uitextfield文字下移
  18. coercing to Unicode: need string or buffer, int found报错
  19. 杭电1133 排队买票 catalan
  20. 解决Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK的问题

热门文章

  1. chart学习
  2. Android service与Thread
  3. PYTHON-流程控制之if/while/for-练习
  4. Linux在bash history当中添加timestamp
  5. 如何获取JMX监控WebSphere所需的com.ibm.ws.admin.client_8.5.0等jar包
  6. hdu 5381
  7. python学习之python安装
  8. zprofiler三板斧解决cpu占用率过高问题
  9. Linux useradd -M -s
  10. MySQL安装详细图解整理