首页 \ 问答 \ 免费的Linux系统有哪些版本?

免费的Linux系统有哪些版本?

免费的Linux系统有哪些版本? 其中比较正规的有哪些? 比较好用的有哪些?
更新时间:2022-09-13 07:09

最满意答案

我使用SVN有5年的历史了,而且现在在公司里仍然是使用SVN。但是大概在3年前,我的所有个人项目都已经迁移到了git(gitHub)上。我能想出很多git优于subversion的地方,大部分是体现在分布式优于集中式的特征上,但如果你让我说出任何SVN分过来胜过git的地方,我竟一时想不出来一个。但这就能说明git完胜SVN吗?
    事实当然不是这样,就像是Windows和Linux,你不能说这个一定就比那个好。最近在stackexchange的讨论让我学习了不少。先举个简单的例子证明有些地方你只能用SVN而不能用git。谷歌的搜索排名算法,就不能放到分布式开放的代码库了。
    这种情况下SVN的集中式管理就是不二选择。下面就来条理的看看Subversion在哪些环境下比git更适用。

其他回答

Subversion是集中式管理的数据仓库
虽然速度快和多副本等git分布式数据仓库显而易见的好处吸引了很多人的喜爱,但在很多情况下,一个集中式的数据仓库却是更合适的。例如,如果你有一些核心代码想只允许部分人能访问,把它放到git里必然是你不希望的。很多的企业都是将它们的代码集中管理的,我猜,所有(重要)政府项目估计都使用的是集中式数据仓库的版本控制系统。
Subversion的理念符合常规思维
这是说,很多人(特别是管理者或老板)对版本号有一种习惯的认识,把开发视作一种按时间的线性发展轨迹,这在他们脑子里根深蒂固。并不是找借口,Git的随意性并不是很容易去理解,你也许注意到了,任何一本关于Git的书都会在第一章第一节告诉你要抛弃脑子里所有的传统观念,重新认识。
Subversion只提供一种途径,没有第二选择
SVN是一个版本控制系统,它只提供一种方式做这些,每个人都使用相同的方法。就是这样。这使得你将代码从SVN迁移到其它集中式管理的VCS或从其它集中式管理的VCS迁进来变得很容易。Git并不仅仅是一个版本控制系统——它实际上是一个文件系统,它里面有很多的拓扑学知识来支持你如何在不同的环境中架设代码仓库——并且没有一个统一的标准。选择一个合适的拓扑结构就成了难题。
其它一些优势:
SVN支持空目录
SVN有更好的Windows平台支持
SVN可以check out/clone一个子树(sub-tree)
SVN支持特权访问控制svn lock,在处理很难合并的文件时非常有用
SVN支持二进制文件,更容易处理大文件(不需要把老版本拷来拷去)
提交文件相对简单,因为没有pull/push操作,本地修改通过svn update自动的执行了同步代码的功能。

相关问答

更多
  • 我使用SVN有5年的历史了,而且现在在公司里仍然是使用SVN。但是大概在3年前,我的所有个人项目都已经迁移到了git(gitHub)上。我能想出很多git优于subversion的地方,大部分是体现在分布式优于集中式的特征上,但如果你让我说出任何SVN分过来胜过git的地方,我竟一时想不出来一个。但这就能说明git完胜SVN吗? 事实当然不是这样,就像是Windows和Linux,你不能说这个一定就比那个好。最近在stackexchange的讨论让我学习了不少。先举个简单的例子证明有些地方你只能用SVN而不 ...
  • Subversion是集中式管理的数据仓库 虽然速度快和多副本等git分布式数据仓库显而易见的好处吸引了很多人的喜爱,但在很多情况下,一个集中式的数据仓库却是更合适的。例如,如果你有一些核心代码想只允许部分人能访问,把它放到git里必然是你不希望的。很多的企业都是将它们的代码集中管理的,我猜,所有(重要)政府项目估计都使用的是集中式数据仓库的版本控制系统。 Subversion的理念符合常规思维 这是说,很多人(特别是管理者或老板)对版本号有一种习惯的认识,把开发视作一种按时间的线性发展轨迹,这在他们脑子里 ...
  • 1. 分布式存储,也就是说你本地客户端仓库的代码跟服务器上的代码仓库是一样和对等的。 服务器崩溃了,机房起火被烧了,小伙子失恋一气之下删了服务器的代码,没关系,只要任何一个客户端电脑有一份,就可以了恢复! SVN集中式代码仓库全球仅此一家,没了就比较麻烦 2. 断网也可以工作。SVN切换分支、需要随时与服务器进行通信,拉取不同分支的代码到你本地电脑工作,断了网,就歇菜了,只能下班回家。git不一样,断网可以继续工作!等联网了在同步就可以了 3. git分支切换超快,不像SVN,切换一下分支,需要慢腾腾地跟服 ...
  • 在这里,我个人使用git vs svn的经验: Git vs SVN: git跟踪源树的状态,历史和完整性。 SVN只跟踪状态。 特别是在合并时,git广泛使用存储历史(跨越重命名和合并)可以方便地做出更好的明智决策,从而减少冲突。 通过存储库拥有完整的,可通过加密方式验证的完整性链可帮助建立对底层系统的信任,或检测其何时失败。 缺点是创建“干净”补丁可能很复杂。 拥有合适的工作流程有助于 最后,git在默认情况下在本地工作,与SVN相比,它几乎可以在任何操作中进入中央回购站,这与SVN形成了令人难以置信的 ...
  • 尝试“git svn rebase”。 我遇到了完全相同的问题,并使用托管@vhttps://github.com/nirvdrum/svn2git的包装脚本。 请花时间阅读SVN,以使用svn2git进行GIT迁移失败 。 Try "git svn rebase". I faced exactly the same issue and used a wrapper script hosted @vhttps://github.com/nirvdrum/svn2git. Please take come t ...
  • 两者都不比另一个“更好”; 都服务于不同的需求。 Subversion是一个集中式系统; Git分发。 在Subversion中,每个人都可以读取并写入一个(且只有一个)服务器; 在Git中,每个开发人员都有自己的存储库,并通过在这些存储库之间进行推送来共享更改。 如果这些是你的个人文件,我推荐使用Git。 没有中央服务器,因此更容易入门。 话虽如此,Git的学习曲线有些陡峭,并且没有真正优秀的图形客户端; 在Windows中,与* nix一样,最好使用命令行版本。 Neither is "better" ...
  • 请参阅此相关的SO问题: 与Mercurial存储库的Git互操作性 看来hg2git很有意思。 它是git fast-export工具系列的一部分。 如果你希望hg从git repo推/拉,那么考虑一下Hg-Git Mercurial插件 。 See this related SO question: Git interoperability with a Mercurial Repository It seems that hg2git is of interest. It is part of the ...
  • 有许多选项,但您无法解决提交日期的重置问题,TFS始终记录实际提交到TFS的正确时间,而不是历史日期。 TFS的SVN Bridge允许您使TFS像普通的SVN存储库一样,允许您进行SVN-> SVN迁移 。 TFS集成工具集也应该可以正常工作,但是在某些方面可以组织Subversion存储库存在问题。 There are a number of options, but you won't be able to work around the reset of the commit date, TFS a ...
  • git-svn 可以使用git svn dcommit , git svn branch或git svn tag命令将更改提交回svn,但除非明确告诉它,否则它不会这样做。 svn2git只调用git svn init和git svn fetch ,因此它不会修改原始存储库中的任何内容。 git-svn can commit changes back to svn with git svn dcommit, git svn branch or git svn tag commands, but it doe ...
  • 您已经描述了SubGit的工作原理。 从2.0开始,它允许使用预接收Git钩子(在'git push'上执行)在Git和SVN之间进行双向转换。 要在你的机器上运行 $ subgit configure --svn-url repo.git $ #adjust repo.git/subgit/{config,passwd,authors.txt} to set auth options, branches to translate and SVN<->Git ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。