什么是源代码控制?

时间:2013-12-03 01:40:30

标签: visual-studio-2012 version-control

所以我正在使用Visual Studio 2012,每当我创建一个新项目时,我总是忽略“添加到源代码控制”选项,主要是因为我不知道它是什么,它的目的是什么,或者它是否使用它对我有好处。

我正在自己开发一个相当大的图书馆。我打算把它变成开源的。这是源控制的用途吗?不幸的是,在线阅读并没有帮助我,我仍然非常困惑。顺便说一句,源控件是否也与版本控制相同?

非常感谢一些澄清。

谢谢!

亚历

7 个答案:

答案 0 :(得分:3)

很简单,源代码控制是存储源代码的存储库。它的目的是提供与您当前使用的副本分开的存储点,以便您可以在本地进行更改,然后将它们提交回源控制存储库。

将其视为库 - 您可以获取代码,您可以返回(修改)代码。它也比这更复杂 - 您可以使用源代码控制来处理同一源的多个版本,并将更改从一个副本合并到另一个副本。此外,大多数(所有)源控制系统应提供跟踪代码更改的机制(即审计跟踪),以及“回滚”或恢复到先前版本的方法。

有各种源控制系统,其中一些是您在本地安装的,另一些是您集中安装并远程访问的。在所有情况下,潜在的哲学基本相同,尽管术语和特征的实现存在一些差异。源代码控制被认为是与编辑器分离的系统,然后编辑器提供了一种方法来指定要使用的源代码控制提供程序以及源代码控制存储库的位置。

答案 1 :(得分:2)

我找到了this

  

Git源代码控制提供程序是一个集成了git的插件   Visual Studio

据此,看起来像源代码控制=版本控制

答案 2 :(得分:2)

源代码管理(也称为修订控制:http://en.wikipedia.org/wiki/Revision_control)是一种可以存储和管理代码库更改和修订的方法。

谷歌:SVN,Git,Mercurial和Google Code,GitHub,Bitbucket。

我个人从不开始一个项目(个人或其他没有它)。另外,我喜欢BitBucket(www.Bitbucket.com)来管理我的项目。它对一个用户是免费的,他们支持Git和Mercurial。

答案 3 :(得分:2)

在开始一个项目时你被问到这个问题,因为在你有许多杂乱的部分之前设置起来要容易得多。 Github是一种版本控制。代码增长的有组织的地方。

如果您正在合作开发一个包含许多不同部分的项目,那么版本控制真的很棒。源或版本控制是同时处理许多不同部分并将它们作为最终项目组合在一起的过程。

如果你自己工作,那么练习仍然可能是有益的,因为在允许文档处理方面仍然具有一些价值,并且模块化部分被集合在一起用于最终项目。

这个精彩的 post 解释了为您的宠物项目使用版本控制的许多好处。

  

嗯,有很多好理由:

     

1。养成这种习惯很好。当然,你可能一个人在工作。但在   未来你可能不会。或者你的“周末爱好项目”可能会转变   进入一个与许多开发人员的热门项目如果有的话   发生这种情况,养成使用源代码控制的习惯   你好。

     

2. 它可以保护您的代码。由于您的代码已存储   在除开发机器之外的服务器上,您有一个备份。   然后,您甚至可以备份服务器上的代码。你当然可以   在你想要的任何时候把它拉上,但是你没有得到所有其他的   好处我在这里列出。

     

3. 它可以保存你的屁股。有时,你   可能会意外删除某些内容。你可能会犯错误并改变   您不想更改的代码。你可能会开始疯狂   当你感觉有点俏皮,然后后悔的想法。资源   控制可以使你成为一块蛋糕,从而避免所有这些   恢复到以前的状态。这就像一个非常强大的“撤消”   特征

答案 4 :(得分:1)

Wikipedia说:

  

版本控制,也称为版本控制和源代码管理   (以及软件配置管理的一个方面)是   管理文件,计算机程序,大型网络的变更   网站和其他信息集合。通常会有变化   用数字或字母代码标识,称为“修订号”,   “修订级别”,或简称“修订”。例如,一组初始   文件是“修订版1”。当第一次更改时,结果   set是“revision 2”,依此类推。每个修订都与a相关联   时间戳和进行更改的人。修改可以比较,   已恢复,并与某些类型的文件合并。

简单来说,源代码控制允许多个人在同一个项目上工作,而不会让每个人都破坏其他人的变化。对同一文件的更改将合并在一起,并且可以解决冲突。

它还允许您保留版本历史记录。您可以将文件回滚到它在任何时间点存在的方式,以及维护程序的不同分支;一种组织变化的方法。

答案 5 :(得分:1)

“源代码管理”指的是在一个(通常是在线的)存储库中存储构成应用程序源的所有文件的概念 - 其中可以精确地管理版本之间源代码中已更改的内容,管理问题,让其他人参与项目,并且通常提供一个协作管理项目的平台。

术语通常与版本控制同义 - 尽管您可以拥有存储库但不明确命名版本。版本控制尤其仅指使用分层编号方案(1.2.4等)标记项目的主要版本

有几种不同的工具可以实现不同类型的源代码控制。例如,Git是一个源控件工具,可让您管理项目。 Github是一个网站,通常存储使用Git管理的存储库。 Mercurial是另一个源控制工具。

通常,源代码控制可能很难理解,并且通常需要花费大量时间来学习教程。对于只从事小型项目的独立程序员来说,很多概念都是不熟悉的。对源代码的更改通过提交进行管理,项目的不同分支可以由多人处理。来自单独分支的更改可以合并,并且项目可以完全由另一个用户分叉(至少对于Git而言)。

让你的图书馆开源是一个好主意,并且很难在github上给它一个家。我会查看一些资源,以了解如何设置它。

答案 6 :(得分:0)

正如Si所说,源(或版本)控制将使您的生命节省20倍。

源代码管理会保留代码的详细历史记录。这使您和任何协作者能够:

  • 查看任何代码的历史记录
  • 查看两个版本之间的更改
  • 还原您刚刚搞砸的任何代码
  • 防止您丢失任何代码
  • 了解导致错误/崩溃的更改
  • 怪谁弄乱你的代码
  • 保留所有代码的最新备份

即使您没有协同工作,当您意外删除代码时,源代码管理 所以 也很有用。我是根据经验说的。

我建议使用GitMercurial,因为它们允许分支并为协作者提供更加孤立的工作空间进行实验,而不必担心会损害任何代码。

对于在线协作,GithubBitbucket非常棒,并且分别与Git和Mercurial很好地集成。它们还允许您跟踪协作者的更改,选择并将更改合并到中央存储库中,并保留详细的问题列表。