使用版本控制的价值是什么?


19

我是版本控制的新手(当前使用SVN),但是我不明白这对开发人员有何帮助。版本控制有什么作用,使其在开发环境中有用?


4
只需阅读Eric Sink出色的Source Control HOWTO系列:ericsink.com/scm/source_control.html。其余的,这里没有什么要回答或讨论的。
戴卡德

4
在您需要之前,源代码管理似乎是毫无意义的事情之一。然后,您意识到没有它是不可能的。不幸的是,那时为时已晚。有点像洪水保险,除非我找到源头控制具有远远更大的效用。
Rein Henrichs'5

2
@rahmanisback在执行File | New Project之后就想要它...只要在项目中有> 1个开发人员,就需要它(我的标准行是> 0个开发人员-我相信现在比以往任何时候都更加正确)
Murph

8
没有版本控制的工作就像从用于键入文章的文字处理器中删除“撤消”命令,或从办公桌中删除所有橡皮擦和涂改液。
rwong 2011年

2
@rahmanisback一旦您不小心删除了一个文件,或者以其他方式丢失了数据,就可以立即删除。@rwong很好的类比。
Rein Henrichs

Answers:


21

VisualSVN和TortoiseSVN只是SVN服务器的UI客户端。SVN服务器是源/版本控制系统。版本控制系统是任何实际开发的关键资产,因为它可以存储源代码的版本。使用版本控制系统时,仅保留源代码的本地副本。主副本存储在版本控制系统上,并且您将更改提交到系统上。

SVN允许:

  • 通过中央存储库在整个团队之间轻松共享源代码
  • 备份与项目相关的源代码和其他资源文件
  • 保留历史,源代码如何更改
  • 您可以还原到历史记录中保留的任何版本
  • 您可以比较版本之间的更改
  • 您可以看到谁进行了更改
  • 您可以锁定文件以进行独占访问,以便其他任何人都无法处理该文件
  • 您可以看到谁正在处理任何源代码文件或谁已锁定文件
  • 如果在同一文件上并行工作,则可以合并更改
  • 您可以看到与所做更改相关的评论
  • 使用其他工具,您可以将已落实的更改与任务相关联
  • 您可以标记/标记版本以轻松查找例如生产版本
  • 您可以分支源代码-创建并行版本,其中可以将一个分支视为主要分支,而另一个分支可以用于测试某些特殊功能或继续开发新产品版本,而对当前生产版本的修复已在主要版本中进行了修复科
  • 您可以合并分支之间的更改
  • 等等

VisualSVN是Visual Studio的扩展,它使您可以直接从Visual Studio UI使用SVN存储库。TortoiseSVN是Windows资源管理器的扩展,它使您可以在浏览文件夹和文件时直接使用SVN存储库。


+1。Haaa ..在使用VCS十多年之后,回答“为什么”真的很困难。我的意思是,它是如此明显-但要说清楚“为什么”做这件事真的很难!好答案。
Dipan Mehta 2013年

我相信AnkhSVN也是将SVN集成到Visual Studio中的杀手er。
Saul Delgado

6

版本控制提供许多功能:

  • 存档您的软件,以便您可以查看其在先前时间点的状态。对于发现错误所在非常有用。
  • 允许同一项目中的多个开发人员共享和协调他们的工作,同时帮助防止覆盖彼此的工作。
  • 特别是通过受保护和备份的中央服务器来支持个人和业务连续性。

它是任何软件开发工作的最低要求,而不仅仅是修补程序以查看会发生什么。

我总是警告任何第一次使用版本控制系统的人,避免它只会带来麻烦。他们遇到一个问题,当他们回头看时,他们意识到如果使用该系统就不会发生。


0

最有生产力的开发人员是一个人。单独的开发人员无需担心与任何其他人进行协调。但是,一旦项目复数,就会产生开销。对于添加到团队中的每个开发人员,开销都会变得更糟。VCS的工作是帮助管理此开销并最大程度地减少影响。

http://www.ericsink.com/vcbe/html/dvcs_private_workspace.html


8
甚至只有一个开发人员也需要版本控制。正如这句话所暗示的,VCS不仅仅是“管理开销”。
alroc

5
即使是一个孤独的开发人员,也可以意识到一周前他们做错了什么,想找回旧代码。即使是一个孤独的开发人员,也可能想尝试一大套复杂的重构,而又不会冒着原始代码库的风险。
Gort Robot

我认为版本控制的“备份”和“还原”方面对于大多数人来说是显而易见的,但是直到您意识到版本控制如何帮助减少协作开销时,人们才真正了解其价值。
杰斯·布朗宁
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.