一、版本控制
版本控制是对软件开发过程当中的各种程序代码,配置文件,说明文档等文件变更的管理,是软件配置管理的核心思想之一。
编写一个成熟可用的程序是一个工作很大的工程,不是我们或一次性可用搞定工作,所以在开发过程当中,有以下特点:
多人协作
- Ui 前端
- 后端
- 数据库
- 运维
版本迭代
- 针对当前代码进行修改和升级,通过几次迭代 达到预想的目的
版本控制工具:
- CVS
是一个c/s结构的版本控制软件,主要用于开源的软件管理,是多个开发人员通过一个版本控制中心系统来记录文件版本,从而达到保证文件同步的目的,是一种很古老的集中式版本控制工具。 - SVN 也是集中式版本控制工具,他是最优秀的集中式版本控制工具。
- GIT 是一个分布式的版本控制工具
集中式版本管理工具
缺点:代码集中于SVN服务器上,一旦发生问题,很难挽回
优点:代码集中于SVN服务器上,不会发生个别新手污染代码的情况
集中式版本管理工具流程图:
分布式版本管理工具流程图:
版本控制常用名词
-
拉取 pull 从服务端下载代码
-
提交 push commit 提交代码
-
合并 将两份代码进行结合
-
冲突 两个开发版本对同一个文件有不同的修改,这时合并会有 冲突
-
描述 所有提交的版本都必须有详细的版本描述
时间:提交人:提交的功能
二、Git的发源
Git的作者是linux之父linus torvalds
在起初,linux开源项目的代码是有linus本人通过linux命令diff和patch两条命令手动完成,后来项目越来越大,代码库让linus疲于奔命。
Bitkeeper公司的东家BTMover出于人道主义(bitkeeper是一款收费的版 本控制工具),授权linux社区免费使用,但是linux社区的大佬有一些江 湖习气,开始破解bitkeeper,samba的作者andrew破解成功了,但是被 BTMOver公司发现,收回免费使用权,要求linus道歉。
Linus闭关一周, 写出了git,在一个月,git成功接管了linux社区的版本控制工作,并且开 始开源。
Git的原理:
Git分为本地库和远程库。
提交代码的步骤: