项目开发(一):Git / GitHub
起源
在一个大型软件项目中,通常是由一个研发小组共同分析、设计、编码、维护以及测试的,在团队开发时,存在以下问题:
- 备份多个版本,费时间、费空间
- 发生严重错误时,难以恢复至以前正确的版本
- 无法进行权限控制
- 在开发过程中,存在代码冲突
- 无法追溯问题代码的人员与修改时间
- 项目版本发布困难
版本控制工具就是为了解决以上问题应运而生的
版本控制
版本控制(Revision Control)是维护工程蓝图的标准,追溯一个项目从生到死的过程,记录若干文件及其内容的改变,以便将来查阅特定版本的内容
在团队开发中,必须使用版本控制,在单人开发中,强烈建议使用版本控制,原因如下:
- 不会对现有工作造成损害
- 不会增加工作量
- 添加新的功能拓展时,更加容易
常见版本控制工具
- CVS
- CVS 于 1990 年诞生,远古时代的主流源代码管理工具
- SVN
- SVN 是一款集中式源代码管理工具
- GIT
- GIT 是一款分布式源代码管理工具
在集中式下,代码数据库在一台服务器上集中管理,开发者只能将代码提交至服务器,在分布式下,代码数据库不仅在公共服务器上,也可以在每个开发者的主机上,开发者不仅可以将代码提交至服务器,也可以将代码提交至本地
GIT 简介
GIT 是一款自由和开源的分布式版本控制系统,用于敏捷高效地管理任何项目
在世界上所有的分布式版本控制工具中,GIT 是最快、最简单、最流行的
GIT 原理
如果使用 GIT 管理一个项目,那么在此项目目录下,存在一个称为 .git 的隐藏目录,除了 .git 目录之外的内容被称为工作区(Working Directory),而 .git 目录被称为版本库(Repository),用于记录版本信息
在版本库中,存在如下内容:
- 暂缓区(staga)
- 分支(master)
- 默认只有一个分支 master 分支被称为主分支
- 除了由 git 自动创建的分支之外,还可以创建其他分支
- HEAD 指针
- 此指针指向当前分支
若