目前世界上最先进的分布式版本控制系统
官方网址:https://git-scm.com
学习目标:
1 了解 git 前世今生
2 掌握 git 基础概念、基础操作
3 各种 git 问题处理
4 互联网常用 gitflow(工作流程规范)
5 git 代码提交规范
6 git 分支管理及命名规范
版本控制系统发展史
1.1 本地版本控制系统
•这个阶段,个人通过创建多个副本修改名称作为标记来作版本管理,典型例子如下
•优点:个体完成单个文件效率较高
•缺点:协作效率低,维护成本高,版本易混淆
1.2 集中式版本控制系统
•集中式版本控制系统,svn版本管理是当中一个代表,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
•举例来讲,中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
•优点:易理解已使用,拥有了协同作战的能力,维护了公共的版本,拥有了权限、用户的管理能力,对于项目人员较少,分工明确,高度集中的项目比较适合
•缺点:需要频繁跟中央服务器交互,依赖网络,服务器宕机影响整个工作进度以及可能会造成文件丢失/大范围协作效率低,协作时需要频繁做文件的合并
1.3 分布式版本控制系统
•客户端节点并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
•可以指定和若干不同的远端代码仓库进行交互。可以在同一个项目中,分别和不同工作小组的人相互协作
•优点:适合分布式开发
公共服务器压力不大
速度快、灵活
任意两个开发者之间可以很容易的解决冲突。
大部分的操作为离线工作
•缺点:
命令繁多,学习曲线较陡峭,可能会使得团队成员之间的协作变得更加困难,学习周期相对而言比较长
分支功能强大,需要结合 gitflow 做开发流程规范
多人协作,最好结合 代码提交规范 做风格统一管理
2. 安装
2.1 windows
https://www.cnblogs.com/xueweisuoyong/p/11914045.html
2.2 mac
https://blog.csdn.net/weixin_44719880/article/details/129411558
2.3 linux
https://blog.csdn.net/csdnerM/article/details/122100354
标签:git,版本,控制系统,https,服务器,分布式 From: https://blog.csdn.net/qq_37474090/article/details/139125689