前端技术分享-码匠 极客编程技术分享

您当前位于:开发工具 ——> Git系列 如何创建Git本地仓库与服务器端仓库的关系

Git系列 如何创建Git本地仓库与服务器端仓库的关系

2016/06/15 00:52:36 | 作者:HTML5学堂(码匠) | 分类:开发工具 | 关键词:Git,GitHub,仓库,关系创建,版本管理

如何创建Git本地仓库与服务器端仓库的关系

HTML5学堂-利利:关于Git的知识,我们共分成了四个大步骤进行讲解,之前我们提到了Git的安装与配置、Git在本地的使用方法,今天我们要讲解的就是如何创建Git本地仓库与服务器端仓库的关系。

今日内容:

一图胜千言,先看下图:

如何创建Git本地仓库与服务器端仓库的关系 - HTML5学堂

HTML5学堂之前的第一篇Git的文章,书写的是关于Git的安装以及初始化等操作,第二篇Git的文章,书写的是如何在本地操作Git,今天我们就来讲解如何通过Git把代码从本地推送到服务器端;而后面我们还有一篇文章,就是关于Git的多人协作(由于利利当前事情比较多,所以一篇一篇来吧~)

主要内容目录

GitHub服务器的搭建

SSH Key

本地创建SSH Key

GitHub上设置SSH Key,从而创建“关系”

在GitHub上创建仓库

在本地添加仓库

将本地库的内容发送到服务器的仓库

从Git上克隆文件

SSH警告

回看SVN与Git的区别

从GitHub中删除文件

将Git版本库与他人共享

我们可以将同一个Git仓库,分布到不同的机器上。在最早时,只有一台机器上存在一个原始的版本库,之后,其他的机器可以“复制”这个版本库,而且每台机器的版本库都是一样的,并没有主次之分。

在开发当中,我们会找一台电脑充当服务器的角色,24小时开机,其他每个人都可以从这个“服务器”将版本库中的文件,复制一份到自己的电脑,也能够将各自的文件,提交到服务器仓库里,也可以从服务器仓库中拉取别人提交的文件。

服务器搭建

服务器方面,一种是自己搭建服务器,另一种是借助GitHub。关于GitHub的使用,请参照HTML5学堂之前的文章《GitHub的用法》

我们可以在GitHub上放置我们的代码,由于GitHub是一个开源网站,因此上传的代码所有人都可以看到,默认也是不需要给GitHub缴费的。不过,只有用户自身才能够修改上传的代码。

HTML5学堂温馨提醒:由于GitHub中的代码所有人可见,所以建议不要把关于自己的私人信息或敏感信息放进去。

HTML5学堂温馨提醒:如果你不想让别人看到你的代码,可以给GitHub交“保护费”,将代码库变成私有;当然,也可以自己购买一个服务器。


有了环境配置之后,我们就能够进行Git与GitHub的相关操作的,但是,先等等,我们得先了解一个东西 —— SSH Key

SSH Key

什么是SSH Key?

SSH key:由于github的代码是开源的,每个人都可以查看代码,但是只有自己能够修改代码,那么github如何识别出提交是用户本人推送的呢?SSH Key就如同一把“钥匙”,只有这把钥匙才能够针对相应的代码进行操作。

为何要设置SSH Key?

机器本地Git仓库和GitHub仓库之间的传输,是通过SSH进行加密的,因此需要设置SSH Key。


准备性的知识我们学完了,接下来我们来了解一下如何进行配置和操作。

1 本地创建SSH Key

在用户Git仓库的主目录下,查看有没有.ssh目录,查看.ssh目录下有没有id_rsa和id_rsa.pub文件,如果有,可直接跳到下一步。

如果没有,打开Git Bash,创建SSH Key

输入如下命令(注意:邮件地址需要换成你自己的)然后“回车”

$ ssh-keygen -t rsa -C "email@XXX.com"

可以在用户主目录(我的是在C盘的User[用户]当中)里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

2 GitHub上设置SSH Key,从而创建“关系”

2.1 打开“Settings”

2.2 选择“SSH and GPG Keys”

2.3 点击“New SSH Key”

2.4 填上相应的Title,在Key文本框里粘贴id_rsa.pub文件的内容

2.5 点“Add Key”,你就应该看到已经添加的Key

Plus:

GitHub允许添加多个Key。假定有若干电脑,只要把每台电脑的Key添加到GitHub,就可以在每台电脑上向GitHub上推送了

3 在GitHub上创建仓库

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

在Repository name填入“工程的名称(最好是使用英文)”,再填写上Description,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库

4 在本地添加仓库

根据GitHub的提示,在本地仓库下运行命令

git remote add origin git@github.com:iceswan/h5coursetesting.git(此处的iceswan/h5coursetesting.git为具体你的GitHub的链接地址)

5 将本地库的内容发送到服务器的仓库

git push -u origin master

代码解释:远程库的名字就是origin,这是Git默认的叫法。在GitHub当中添加仓库之后就可以把本地库的所有内容推送到远程库上了。

-u参数,通常在第一次推送master分支时使用。Git除了会把“本地的master内容推送到服务端的master分支”之外,还会把本地的master分支和服务端的master分支关联起来,从而让我们在以后的推送或者拉取时简化命令。

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

如果不是第一次推送的话,可以使用如下命令来推送最新修改

$ git push origin master

6 从Git上克隆文件

当然也有可能不进行推送,而是先从Git上克隆文件

$ git clone git@github.com:iceswan/h5coursetesting.git(此处的iceswan/h5coursetesting.git为具体你的GitHub的链接地址)

7 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)?

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

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


讲完整体之后,说一些额外的,在之前HTML5学堂的第一篇文章当中,我们提过SVN和Git的区别,当前我们再拿出来看一下,就会发现,应该能够更清楚的理解这两者对网络的依赖了~另外,关于如何从GitHub当中删除文件,也书写了一个小demo

回看SVN与Git的区别

SVN在没有联网的时候是拒绝干活的

Git在本地工作完全不需要考虑远程库的存在,没有联网也可以正常工作,当有网络的时候,再把本地提交推送到服务器都就完成了同步

从GitHub中删除文件

$ git rm 文件名

$ git commit –m 注释

$ git push origin master

HTML5小编-利利~10hours

欢迎沟通交流~HTML5学堂

HTML5学堂微信~欢迎扫码关注

HTML5学堂微信

微信公众号,HTML5学堂,码匠,原创文章,WEB前端,技术分享

HTML5学堂

原创前端技术分享

HTML5学堂,HTML5,WEB,前端,视频课程,技术视频,学习视频,面试,JS

原创视频课程

用心打造精品课程

微信小程序,决胜前端,面试题,面试题集合,前端,HTML5,真题

小程序-决胜前端

前端面试题宝库

原创书籍,学习书籍,书籍推荐,HTML5布局之路,HTML5,WEB前端

HTML5布局之路

非传统模式讲解前端