关于问题代码版本控制用 SVN 还是 Git 好?一共有 2 位热心网友为你解答:
【1】、来自网友【李家梦想家】的最佳回答:
不评价那个好,两个是不同的东西。
但是,上面那些黑 SVN 的兄弟们,你们真的懂 SVN 吗?
SVN 属于被淘汰的上一代版本管理工具。用 SVN,你就属于被淘汰的一类。
此句无力吐槽……
比如说队里的熊孩子搞砸了,一连几个 commit 都不能编译。太简单了:用 git rebase -i 可以把一条 branch 上的坏 commit 一个一个剔掉。换了 SVN,提交了坏代码的话,天皇老子都没法改。
revert change 很 easy 的丫亲!
不会 github 的程序员我不会发 offer。
老大,别这么绝对好吗?没入党也可以当选村官啊!!
svn 的缺点主要是不能离线提交
不能够离线提交不是缺点,是 feature!是 feature!是 feature!你确定你的 Build machine 需要“离线提交”吗?你确定你的兄弟“离线提交”了一个 fix,产品上的 bug 就真的 fix 了吗???
“另外,SVN 还有一大弊端,当团队合并文件时,如果有两人上传发生冲突则需管理员协调完成后其他成员才可继续上传”。
冲突是在本地的,在本地解决冲突的时候,根本不会影响到其它人上传好吗?
还有说 SVN 不能够做分支的,我就不再说什么了。。
利益相关:
在世界 500 强公司的 Build & Release team 工作,专业做持续集成(Continuous Integration)。
目前用“上一代”版本管理工具 SVN,外加 Jenkins、JIRA、MSBuild、PowerShell 等工具来服务分布在美国、新西兰、澳大利亚、英国、印度、上海、贝尔格莱德、伦敦等世界各地的研发 team 的代码构建和产品发布。
公司有 55000 个人,写代码的研发团队不知道一共多少人。但我这里看得见的有在用 SVN 的至少有 1000 人。
基于这些工具,去年我们的软件在 5 个活跃分支上一共交付了 62 个 release…客户们都点赞…
当然,也用过 Git。Git 很棒!基于 Github 社区的支持,它可以说是分布式源码管理工具里最流行的。
【2】、来自网友【Java 技术】的最佳回答:
代码版本控制是软件开发中非常重要的一个环节,因为它能够记录代码的变化历史,以便在必要的时候回滚到以前的版本。目前,两种最流行的代码版本控制工具是 SVN 和 Git。在选择哪种工具时,需要考虑到许多因素,包括团队规模,项目复杂度,开发模式,以及团队成员的喜好。
SVN(Subversion)是一个开源的版本控制系统,具有历史记录,并发控制,分支合并等功能。它适用于小型和中型团队,并且支持集中式模型,即所有团队成员通过一个中央服务器进行代码协作。这种模型适合团队成员不太熟悉版本控制工具,并需要高度控制的团队。例如,如果您的团队需要对每个提交的代码进行审核和批准,则 SVN 可以满足您的需求。
另一方面,Git 是一种分布式版本控制系统,具有许多高级功能,如分支,合并,暂存,快速撤消等。它非常适合大型团队,因为它允许多个开发人员在同一时间在同一项目上进行工作,并且不需要通过中央服务器进行同步。因此,即使在网络问题或中央服务器故障时,团队成员仍然可以继续工作,并且在网络恢复后可以将代码合并回主分支。
此外,Git 还具有高效的性能,特别是在大型项目的情况下。由于它的分布式架构,Git 可以将代码的提交和更改记录分散到多个位置,这可以提高代码的更新速度。
另外,Git 具有强大的分支功能,可以轻松地创建和管理多个分支,以实现多种开发方式。例如,团队可以在主分支上继续工作,同时在另一个分支上开发新功能。在功能开发完成后,团队可以将新功能合并到主分支中。
总的来说,如果您的团队对版本控制的需求不是很复杂,并且您希望有一个简单易用的解决方案,那么 SVN 可能是一个不错的选择。然而,如果您的团队需要一个强大的分布式版本控制系统,那么 Git 是更好的选择。
最后,选择哪种工具取决于您的团队的具体需求