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

时间:2022-05-04
本文章向大家介绍如何创建Git本地仓库与服务器端仓库的关系,主要内容包括今日内容:、主要内容目录、将Git版本库与他人共享、服务器搭建、SSH Key、为何要设置SSH Key?、1 本地创建SSH Key、2 GitHub上设置SSH Key,从而创建“关系”、3 在GitHub上创建仓库、4 在本地添加仓库、5 将本地库的内容发送到服务器的仓库、6 从Git上克隆文件、7 SSH警告、回看SVN与Git的区别、从GitHub中删除文件、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
HTML5学堂-利利:关于Git的知识,我们共分成了四个大步骤进行讲解,之前我们提到了Git的安装与配置、Git在本地的使用方法,今天我们要讲解的就是如何创建Git本地仓库与服务器端仓库的关系。

今日内容:

一图胜千言,先看下图:

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

主要内容目录

  1. GitHub服务器的搭建
  2. SSH Key
  3. 本地创建SSH Key
  4. GitHub上设置SSH Key,从而创建“关系”
  5. 在GitHub上创建仓库
  6. 在本地添加仓库
  7. 将本地库的内容发送到服务器的仓库
  8. 从Git上克隆文件
  9. SSH警告
  10. 回看SVN与Git的区别
  11. 从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