×

svn和git git 程序

svn和git(在svn和git之前,程序员团队是用什么来做代码管理和团队协作的)

admin admin 发表于2023-07-31 21:52:53 浏览68 评论0

抢沙发发表评论

本文目录

在svn和git之前,程序员团队是用什么来做代码管理和团队协作的

2000年的时候,CVS诞生了1995年的时候Karl和他的朋友Jim Blandy在CVS得基础上设计,更改成Subversion,多次编码到2001年8月底实现了“自行管理”,2017年SVN1.9.7正式发布。

为什么还有那么多人用SVN

Git 和 SVN 是两套不同风格的版本控制系统,我从国企跳槽到互联网公司,在国企中用的 SVN ,在互联网公司用的 Git,各有其原因吧,存在即合理,对于这个我们改变不了什么,跟着同事使用就行。

简单的对 Git 和 SVN 做一个对比:1.Git是分布式的,而SVN不是分布而是集中式的;2.Git把内容按元数据方式存储,而SVN是按文件存储;3.Git没有一个全局版本号,而SVN有;4.Git的内容的完整性要优于SVN,GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性;5.Git下载下来后,在OffLine状态下可以看到所有的提交日志,SVN不可以;6.SVN只能有一个指定中央版本库,存在单点故障风险,而Git的每一个拷贝库都可以用来恢复中央版本库;7.提交(Commit)上的不同:在SVN,当你提交你的完成品时,它将直接记录到中央版本库,而Git提到到本地,需要“推”(git push)到主要版本库。

SVN的特点是简单,只是需要一个放代码进行代码库的共享是完全没有问题的,并且提供有图形化的界面,可以方便的使用图形化进行SVN的各种操作。而Git的特点版本控制可以不依赖网络做任何事情,对分支和合并有更好的支持,它使我们随时随地可以commit代码到本地仓库,在联调的时候进行代码push即可。

使用Git或是使用SVN,往往不是我们能决定了,其受制于公司的研发水平和历史产品选型,往往一旦确定,后期就很少更换了,做为程序员,只能不断学习掌握各种工具,从而在coding时更加流畅丝滑。

作者:夕阳雨晴,欢迎关注我的头条号:偶尔美文,主流Java,为你讲述不一样的码农生活。

Git相比svn和其他版本管理工具的核心优势有哪些

优势就是git有本地仓库的概念,本地仓库也有分支主干,你可以在没有网的时候本地仓库操作,等有网的时候在push到远程仓库就好了,这个应该是git和svn最大的区别了吧

版本控制svn和git有什么区别

最大区别在于,git是分布式的,而svn是集中式的。集中式的版本控制系统,本地只存储文件的拷贝,而没有完整的历史记录,因此绝大部分操作必须依靠网络。分布式的每一台计算机都拥有全部项目文件和完整的历史记录,因此在完全信息环境下工作,绝大部分操作在本地完成。

从开发流程上来说,git最重大的突破就是强大轻量的分支功能,分支真正日常开发的工具,而不像svn中那样几本是个摆设。

SVN好还是GIT

先说下结论,当下环境,使用git作为代码版本控制工具是首选。

GIT

git是一个分布式的版本控制工具。

官方地址:

Git 相比 svn 和其他版本管理工具的核心优势有哪些

cvs, git, svn都用过,以下完全是主观感受:1. git比svn快,用起来更流畅。2. git在本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器。svn commit就到服务器了,有时候发现commit错了或不全就得再来一遍,有review更吐血了。(git commit --amend太好用了)3. git拉branch和在branch之间切换都非常简单,可以随便折腾。svn一个branch就是一个copy。4. git绝对不会有被lock了不能commit的情况。。5. svn老版本每个目录都有一个.svn目录,非常繁琐。(新版本svn也只在最上层有.svn目录了,不过仍然比较难用,不在.svn同目录下很多命令不给用,比如svn info)

Git比SVN相比有什么区别

区别1、GIT是分布式的,SVN不是这是GIT和其它非分布式的版本控制系统,最核心的区别;GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chectout代码后会在自己的机器上克隆一个自己的版本库。区别2、Git直接记录快照,而非差异比较Git和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照 的索引。为提高性能,若文件没有变化,Git不会再次保存,而只对上次保存的快照作一链接。区别3、近乎所有操作都是本地执行在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。

Git与SVN的区别和各自的指令含义

git和svn区别总结1.git是分布式的,svn是集中式的这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交、合并,也可以不用联网在本地提交;2.git把内容按元数据方式存储,而svn是按文件所有的资源控 制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因 为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。3.git的内容完整性要优于svnGIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。4.git 不需联网,svn 需要联网操作git下载下来后,在本地不必联网就可以看到所有的log,很方便学习;svn却需要联网,没有网络代码没办法提交.svn 的一些优势 !!!1.svn支持空目录2.svn有更好的Windows平台支持3.svn支持特权访问控制svn lock,在处理很难合并的文件时非常有用4.svn支持二进制文件,更容易处理大文件(不需要把老版本拷来拷去)5.提交文件相对简单,因为没有pull/push操作,本地修改通过svn update自动的执行了同步代码的功能。