数据存储结构
-
先来了解下版本管理中的两个概念,如下图所示:
仓库,可以理解为你的项目工程,即文件项目的单位。分为本地仓库、远程仓库和线上仓库,其中本地仓库就是你本地电脑上的项目文件,远程仓库一般为github、Centos等云端托管平台,也可以是一台服务器,线上仓库就是实际服务器运行的项目。一般来说,为了安全起见,远程仓库和线上仓库应该是不同的服务器。
分支,可以理解为你项目内部的moudle,即文件的模块。如张三模块分支、李四模块分支。 -
版本控制的数据流
在我们的实际项目中、利用git分布式版本管理器来管理我们的项目,其数据流向如下图所示:
如图,整体流向分为三大块:1为线上仓库、2为远程仓库、3为本地仓库。其中从下到上的数据保存流程为:工作区分为两个分支:master和zhibinm,当本地的工作区对该这两个分支进行改变时,需要一个保存操作,即C和D,叫做commit操作,然后这两个分支可以进行合并操作,B即为merge操作;当本地仓库需要提交保存的文件时,这时候需要push到远程仓库,当然远程仓库也可以通过pull操作到本地仓库,远程仓库各分支之间也可以进行merge合并操作;最后是远程仓库部署到线上仓库进行使用。
文件传输中的公钥和私钥
- git传输协议
分为https(加密超文本传输协议)和ssl(安全外壳协议),ssl涉及到公钥和私钥。首先我们了解两种加密算法。 -
对称加密算法
其特点是加密密钥和解密密钥一样的。
- 非对称加密算法
其特点是,加密的密钥和解密的密钥不一样。加密的称为公钥,解密的称为私钥。
- 公钥和私钥的生成
打开cmd,输入指令代码:ssh-keygen -t rsa -C "your email"或者ssh-keygen -t rsa,并按回车3下(为什么按三下,是因为有提示你是否需要设置密码,如果设置了每次使用Git都会用到密码,一般都是直接不写为空,直接回车就好了)。会在一个文件夹里面生成一个私钥 id_rsa和一个公钥id_rsa.pub。这里说明一下公钥和私钥是成对出现的。 - 从远程仓库中获取工程项目(以GitHub为例)
这里我们用git的一个客户端SourceTree来获取项目,其中SourceTree个版本的下载点击这里,选择好版本下载安装就好啦!上传项目见这篇博文。
-
根据https得到项目
步骤如下:
- 根据ssl得到项目
首先做相关设置,主要是配置公钥(SourceTree本地的git私钥要配好):
然后直接复制ssl的url进行pull即可。
最后附上相关视频讲解