【Git】第一部分 Git的基本概念
1. Git的基本概念
1.1 版本控制
有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。
1.2 集中式和分布式
1.2.1 集中式(svn)

什么是集中式?
单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人在做什么,更好的管理版本控制。缺点也很明显:如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同 ,要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录。
总结来说:svn每次存的都是差异,需要的硬盘空间会相对的小一点 ,可是回滚的速度会很慢
-
优点:
代码存放在单一的服务器上 便于项目的管理 -
缺点:
服务器宕机: 员工写的代码得不到保障
服务器故障坏了: 整个项目的历史记录都会丢失
1.2.2 分布式(Git)

什么是分布式?
分布式的版本控制系统在管理项目时,存放的不是项目版本与版本之间的差异,它存的是索引(所需磁盘空间很少 所以每个客户端都可以放下整个项目的历史记录)。分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
-
断网的情况下也可以进行开发(因为版本控制是在本地进行的)
-
使用 github 进行团队协作,哪怕 github 挂了 每个客户端保存的也都是整个完整的项目(包含历史记录的)
总结来说:git每次存的都是项目的完整快照,需要的硬盘空间会相对大一点(Git团队对代码做了极致的压缩 最终需要的实际空间比svn多不了太多 ,可是Git的回滚速度极快)
- 优点:
完全的分布式 - 缺点:
学习起来比svn难
总结
以上就是今天要讲的内容,希望对大家有所帮助!!!
本文详细比较了Git与SVN两种版本控制系统的特点。Git作为分布式版本控制系统,即使在网络不可用时也能进行开发,并且每个客户端都保存了完整的项目历史记录;而SVN则是一种集中式版本控制系统,依赖于单一的服务器进行版本管理。

被折叠的 条评论
为什么被折叠?



