此文章内容是参考马士兵教育系列公开课程 git使用教程
p1——git版本控制介绍
- 概念
git是一个免费的、开源的分布式版本控制系统,可以快速高效的处理大到小型的项目。
- 使用版本控制系统的好处
(1)如果新部署的版本出现问题,可以快速回滚到历史版本
(2)有一个系统帮忙管理项目迭代的各个版本,更加整洁
- 版本控制系统的分类
(1)集中化的版本化控制系统SVN:所有的文件修订版本由一个单一的服务器集中管理,客户端统一上传或者下载。
好处:每个人在一定程度上可以看到其他人在做什么;管理员可以掌握每个开发者的权限,管理控制系统比管理每个客户端要轻松很多。
坏处:如果中央服务器出现单点故障,就没办法工作。
(2)分布式的版本控制系统Git:客户端不只是提取最新版本的文件快照,而是把代码仓库完整的镜像下来。由于git系统内部的极致压缩算法,就算全部把历史版本全部下载也不会占据很大空间。这样每个客户端都存储完整的版本,也可以作为服务器。
关于github:它是一个协同开发的远端仓库,可以不同项目组或者公司的人员来上传/下载项目。
集中化的版本控制系统:每次存放的是当前版本与上一版本的差异,所以回滚的话是很费事的;
分布式的版本控制系统:每次存放的是当前版本与以往版本的索引,可以直接根据索引回滚到历史版本;
p2—— git的安装
官网下载git:https://git-scm.com/
安装:几乎next即可
打开:桌面右键
git结构
- 本地结构
(1)工作区:写代码的地方
(2)暂存区:打算提交的代码
(3)本地库:存放历史版本
工作区—git add—>暂存区—git commit—>本地库
此时自己就可以进行开发工作了,但是要与团队其他成员合作的话,还需要一个远程库,作为一个公共库来供大家上传和下载。
那么本地库和远程库是怎么交互的呢?
有两种交互方式:(1)团队内部协作 (2)跨团队合作
(1)团队内部合作:首先由团队的项目经理创建一个远程库,此时远程库是空的,需要通过push操作推送内容;团队中的其他开发人员可以直接从远程库通过clone操作克隆项目内容,进行更新操作后再push到远程库中,供其他开发人员你可见。
(2)跨团队合作:团队A项目经理各创建一个远程库,团队B通过fork操作复制一份一模一样的远程库供所属的开发人员使用。当B方远程库更新之后,需要通过同步操作使A和B 的远程库内容一致。
无论上面的哪种交互方式,都需要代码托管中心。
什么是代码托管中心呢?有什么作用?
代码托管中心主要是帮助我们维护远程库,本地库的话是进行版本控制。
- 托管中心的种类
(1)局域网环境下:可以自己搭建GitLab服务器作为代码托管中心。
(2)外网环境下:可以使用GitHub或者Gitee,都是比较成熟的托管平台。