专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

git和svn是什么

来源:小嗨整编  作者:小嗨  发布时间:2024-03-18 07:35
摘要:git是一款开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。svn是一款开源的集中式版本控制系统,用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。本教程操作环境:Windows7系统、Git2....

git是一款开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。svn是一款开源的集中式版本控制系统,用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

git和svn是什么

本教程操作环境:Windows7系统、Git2.30.0版、Dell G3电脑。

git是什么

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

Git属于分布式的版本控制系统

Git具有以下特点:

Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。

Git的每一次提取操作,实际上都是一次对代码仓库的完整备份。

提交完全在本地完成,无须别人给你授权,你的版本库你作主,并且提交总是会成功。

甚至基于旧版本的改动也可以成功提交,提交会基于旧的版本创建一个新的分支。

Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并会发生在PULL和PUSH过程中,不能自动解决的冲突会提示您手工完成。

冲突解决不再像是SVN一样的提交竞赛,而是在需要的时候才进行合并和冲突解决。

Git 也可以模拟集中式的工作模式

Git版本库统一放在服务器中

可以为 Git 版本库进行授权:谁能创建版本库,谁能向版本库PUSH,谁能够读取(克隆)版本库

团队的成员先将服务器的版本库克隆到本地;并经常的从服务器的版本库拉(PULL)最新的更新;

团队的成员将自己的改动推(PUSH)到服务器的版本库中,当其他人和版本库同步(PULL)时,会自动获取改变

Git 的集中式工作模式非常灵活

你完全可以在脱离Git服务器所在网络的情况下,如移动办公/出差时,照常使用代码库

你只需要在能够接入Git服务器所在网络时,PULL和PUSH即可完成和服务器同步以及提交

Git提供 rebase 命令,可以让你的改动看起来是基于最新的代码实现的改动

Git 有更多的工作模式可以选择,远非 Subversion可比

svn是什么

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

SVN管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。

SVN 属于 集中式版本控制系统。

集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

svn的特点概括起来主要由以下几条:

 每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;

 获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;

 提交必须有网络连接(非本地版本库);

 提交需要授权,如果没有写权限,提交会失败;

 提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;

 冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。

好处:每个人都可以一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限。

缺点:中央服务器的单点故障。

若是宕机一小时,那么在这一小时内,谁都无法提交更新、还原、对比等,也就无法协同工作。如果中央服务器的磁盘发生故障,并且没做过备份或者备份得不够及时的话,还会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,被客户端提取出来的某些快照数据除外,但这样的话依然是个问题,你不能保证所有的数据都已经有人提取出来。

svn原理上只关心文件内容的具体差异。每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。

svn和git适用范围的不同

适用对象不同。

Git适用于参与开源项目的开发者。他们由于水平高,更在乎的是效率而不是易用性。SVN则不同,它适合普通的公司开发团队。使用起来更加容易。

使用的场合不同。

Git适用于通过Internet,有多个开发角色的单个项目开发,SVN适合企业内部由项目经理统一协调的多个并行项目的开发。

权限管理策略不同。

Git没有严格的权限管理控制,只要有帐号,就可以导出、导入代码,甚至执行回退操作。SVN则有严格的权限管理,可以按组、按个人进行针对某个子目录的权限控制。区分读、写权限。更严格的,不支持回退操作。保证代码永远可以追踪。

分支(branch)的使用范围不一样。

Git中,你只能针对整个仓库作branch,而且一旦删除,便无法恢复。而SVN中,branch可以针对任何子目录,它本质上是一个拷贝操作。所以,可以建立非常多、层次性的branch,并且,在不需要时将其删除,而以后需要时只要checkout老的SVN版本就可以了。

基于第三点,Git适用于单纯的软件项目,典型的就是一些开源项目,比如Linux内核、busybox等。相反,SVN擅长多项目管理。

比如,你可以在一个SVN仓库中存放一个手机项目的bsp/设计文档/文件系统/应用程序/自动化编译脚本,或者在一个SVN中存放5款手机项目的文件系统。git中必须建立n(项目数)*m(组件数)个仓库。SVN中只需要最多n或者m个就可以了。

Git使用128位ID作为版本号,而且checkout时要注明是哪个branch;而SVN使用一个递增的序列号作为全局唯一的版本号,更加简明易懂。虽然可以使用gittag来建立一些文字化的别名,但是毕竟那只是针对特殊版本。

可跟踪性

git的典型开发过程为:建立分支,进行开发,提交到本地master,删除分支。这样做的后果是以前的修改细节会丢失。

而在SVN下做同样的事情,不会丢失任何细节。

局部更新,局部还原。

SVN由于是在每个文件夹建立一个.svn文件夹来实现管理,所以可以很简单实现局部更新或者还原。假如你只希望更新某些部分,则svn可以很好实现。同时代码写错了,同时可以很好实现局部还原,当然git也可以通过历史版本还原,但是无法简单地实现局部还原。

推荐学习:《Git教程》

以上就是git和svn是什么的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/1149437.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


网络百科
小编:小嗨整编
相关文章相关阅读
  • 魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?在魔兽世界中,泰兰德是魔兽世界中暗夜精灵种族的代表性角色,她以牧师职业为主。牧师在游戏中拥有强大的治疗和辅助能力,是团队中不可或缺的重要角色。泰兰德作为一名牧师,擅长使用圣光和暗影之力...

  • 睡眠app哪个好用(睡眠app是什么原理)?

    睡眠app哪个好用(睡眠app是什么原理)?

    睡眠app哪个好用(睡眠app是什么原理)?随着科技的发展,越来越多的睡眠APP走进了我们的生活。它们通过科学的原理和实用的功能,帮助人们改善睡眠质量,缓解压力。本文将为您盘点几款热门的睡眠APP。睡眠app哪个好用1.小睡眠小睡眠是一款备...

  • 梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?

    梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?

    梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?据悉,梦幻西游嘉年华2024的首场活动已经在2024年1月12日19:30正式开启,为广大玩家带来了一场名为“惊喜宝藏夜”的狂欢盛宴。在这次活动中,不仅有重量级嘉宾的精彩表演,梦幻开发组的...

  • dnf卢克西是什么职业(dnf卢克西三件套属性)?

    dnf卢克西是什么职业(dnf卢克西三件套属性)?

    dnf卢克西是什么职业(dnf卢克西三件套属性)?在dnf中,卢克西并不是一个职业,而是一套装备的名称。卢克西三件套是专为鬼剑士职业设计的装备套装,尤其适合那些依赖觉醒技能输出的角色。卢克西三件套的具体装备包括以下三件:1.卢克西的灵魂狂气...

  • win7激活工具免费版(win7激活工具是什么意思)?

    win7激活工具免费版(win7激活工具是什么意思)?

    win7激活工具免费版(win7激活工具是什么意思)?当我们购买一台安装了Windows系统的电脑时,通常会发现系统处于未激活状态。这不仅会影响电脑的正常使用,还可能引发安全风险。因此,理解Windows系统激活的重要性,并学会如何进行系统...

  • 推广app赚佣金平台有哪些(推广app是什么工作)?

    推广app赚佣金平台有哪些(推广app是什么工作)?

    推广app赚佣金平台有哪些(推广app是什么工作)?简单来说,推广引流app就是利用各种渠道,将一款应用程序(App)推广给潜在用户,吸引他们下载并使用。推广app赚佣金平台有哪些1:U客直谈想要从事地推app拉新行业,U客直谈建议深入了解...

  • 绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?

    绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?

    绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?绝地求生自瞄,顾名思义,就是游戏中的一种自动瞄准功能。使用自瞄外挂的玩家在游戏中,当遇到敌人时,瞄准器会自动锁定目标,玩家只需按下射击键即可轻松击杀敌人。这种外挂严重破坏了游戏的平衡,对其他玩家...

  • dnf精灵骑士是什么职业(dnf精灵骑士技能加点)?

    dnf精灵骑士是什么职业(dnf精灵骑士技能加点)?

    dnf精灵骑士是什么职业(dnf精灵骑士技能加点)?在dnf中,精灵骑士作为守护者职业的一员,以其独特的技能和风格备受玩家喜爱。下面我们来详细了解一下精灵骑士的技能加点方法。精灵骑士是DNF中的守护者职业之一,属于物理百分比纯C职业,拥有强...

  • 周排行
  • 月排行
  • 年排行

精彩推荐