git版本控制&代码托管中心
1 版本控制工具应该具备的功能
- 协同修改
多人并行不悖的修改服务器端的同一个文件。
- 数据备份
不仅保存目录和文件的当前状态,还能够保存每一次提交过的历史状态
- 版本管理
在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行的效率,这方面SVN 采用的是增量式管理的方式,而Git才用了文件系统快照的方式。
- 权限控制
对团队中参与开发的人员进行权限控制
对团队外开着这资源的代码进行审核-Git 独有。
- 历史记录
查看修改人、修改时间、修改内容、日志信息
将本地文件恢复到一个历史状态
- 分支管理
- 允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。
2版本控制简介
2.1工程设计领域当中使用版本控制管理工程蓝图的设计过程,在IT开发中也可以使用版本控制思想管理代码的版本迭代。
2.2版本控制工具
2.2.1集中式的版本控制工具(缺点,单点故障)
CVS、SVN、VSS......
2.2.2分布式版本控制工具
Git、Mercurial、Bazaar......
3Git的优势
- 大部分操作在本地完成,不需要联网
- 完整性保证(hash)
- 尽可能添加数据而不是删除数据或者修改数据
- 与Linux命令全面兼容
3.1 Git 本地结构:
工作区:用来写代码的地方
暂存区:临时存储,打算要提交的文件存放位置
本地库:历史版本
工作区->暂存区 git add 暂存区->本地库git commit
3.2 Git 和GitHub(代码托管中心)
- Github 就是Git的代码托管中心
- 其他形式的代码托管中心
局域网环境下:
- GitLab
外网环境下
- GitHub
- 码云
3.3本地库和远程库的两种交互场景
- 团队内部协作:
- 跨团队协作: