前言
对于非计算机系或者相关专业的学生来说,第一次接触git是在2017年的工作中,在此之前,多人协作,版本控制都是通过svn实现的,所以第一次使用这么复杂(对,当时使用的时候确实感觉很复杂,操作很繁琐)的版本控制系统,挑战还是很大的,由于时间少,任务紧迫,便也没有系统地学习。那一家企业并没有工作很久,便来到了现在的公司。很长一段时间以来,我们小组使用的都还是svn,只是近期要从svn切换到git,于是便有了整体学习一下git的想法,希望能坚持下来。
git发音
有好多同学(包括我的有些同事)喜欢把它念做 [dʒit] (发音类似于中文'季特'),但是我的发音一直是 [ɡɪt] (发音类似于'哥亿特','哥亿'连读),于是使用微软必应词典,证实了我的发音是正确的。同时,GitHub也应该读作 [ɡɪt][hʌb]。虽然可能会有误读,并且养成了习惯,但是还是希望能够尊重英文发音,及时纠正。
git是什么
那么git到底是什么呢?参考百度百科git词条:
git是一个开源的分布式版本控制系统,可以有效,高速地处理从很小到很大的项目版本管理,是Linus Torvalds为了帮助Linux内核开发而开发的一个开放源代码的版本控制软件
那么就来说一说我理解的git吧。
首先,git是一款开源软件,意味者我们可以查看git源代码,修改和免费地使用git
其次,git是一个版本控制系统。版本控制是单人或者团队进行项目作业时,需要在不同阶段依据现阶段的需求进行成果合并,成果产出,版本回退等一系列操作
最后,git具有分布式的特点。即该版本控制系统不是中央集成式的(如svn),也就是说,git操作的直接项目产物,并不在一台被标记为服务器的机器中,而是在每一个使用git的项目成员中均有一个主分支
git与其他版本控制系统
由于本人只接触过git和svn这2个版本控制系统,所以针对这二者进行比较分析
svn是一款中央集成式的版本控制系统,其项目产物主分支仅存在于一台主服务器中,每一个项目成员如果需要作业,需在本地拉取主分支,在分支上进行操作,完成某个任务之后,再提交合并。
下面是git与svn的优缺点分析
1. svn操作简单,一般项目成员涉及到的操作主要有commit(提交),update(从服务器中更新),merge(冲突合并)
git的操作略显复杂
2. svn的权限控制较为细致,能具体到单文件的读写
git的权限控制较为奔放
3. svn由于采用单台服务器的形式,导致在多个用户同时做更新或者提交操作时,进度缓慢
git则不会有这种问题
4. svn由于主分支存在于单台服务器中,安全性较低,服务器损坏,则数据存在丢失的风险,须做好防灾备份
git主分支存在于所有的机器中,不存在这种问题
5. svn分支管理方案较少
git的分支开发方案众多,使用方便
由于本人git还未开始正式学习,目前只理解这些,等学完了之后再做补充。
2020-05-05 20:45