前言
Git是一个开源的分布式版本控制系统, 可以有效, 高速地处理从很小到非常大的项目版本管理.也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.
使用场景
- 备份
- 小明负责的模块就要完成了, 就在即将Release之前的一瞬间, 电脑突然蓝屏, 硬盘光荣牺牲!几个月来的努力付之东流.
- 代码还原
- 这个项目中需要一个很复杂的功能, 小明摸索了一个星期终于有眉目了, 可是这被改得面目全非的代码已经回不到从前了.什么地方能买到哆啦A梦的时光机啊?
- 协同开发
- 小明和小帅先后从文件服务器上下载了同一个文件:
Analysis.java
.小明在Analysis.java
文件中声明了一个方法, 叫count ()
, 先保存到了文件服务器上.小帅在Analysis.java
文件中声明了一个方法, 叫sum ()
, 也随后保存到了文件服务器上, 于是,count ()
方法就只存在于小明的记忆中了(因为小帅是在小明写新方法前下载的).
- 小明和小帅先后从文件服务器上下载了同一个文件:
- 追溯问题
- 小美是一位项目经理, 每次因为项目进度挨骂之后, 他都不知道该扣哪个程序员的工资!就拿这次来说吧, 有个Bug调试了30多个小时才知道是因为相关属性没有在应用初始化时赋值!可是小明, 小帅都不承认是自己干的(如果有版本控制器的话, 小美就可以查看版本控制器日志, 从而知道是小明的问题).
小明:为什么受伤的总是我qwq
版本控制器的方式
本教程为分布式版本控制工具: Git
- 集中式版本控制工具
- 集中式版本控制工具, 版本库是集中存放在中央服务器的, team里每个人work时从中央服务器下载代码, 是必须联网才能工作, 局域网或互联网.个人修改后然后提交到中央版本库.
- 举例:SVN和CVS
- 分布式版本控制工具
- 分布式版本控制系统没有“中央服务器”, 每个人的电脑上都是一个完整的版本库, 这样工作的时候, 无需要联网了, 因为版本库就在你自己的电脑上.多人协作只需要各自的修改推送给对方, 就能互相看到对方的修改了.
- 举例:Git
- 分布式版本控制系统没有“中央服务器”, 每个人的电脑上都是一个完整的版本库, 这样工作的时候, 无需要联网了, 因为版本库就在你自己的电脑上.多人协作只需要各自的修改推送给对方, 就能互相看到对方的修改了.