最简单的源代码控制 - 您使用什么?

时间:2008-12-07 23:02:21

标签: version-control

我正在开展一个独立项目,自己编写所有代码,因此不需要协作,

但是,我确实需要以下功能:

  1. 签入当前版本,注释
  2. 为版本
  3. 分配标签
  4. 使用label / tag
  5. 检索版本
  6. NOT HOSTED(意思是我在本地计算机上保存存储库)
  7. 免费/开源
  8. 有一个漂亮的GUI,而不是命令行?
  9. 我认为SVN很好,但对我来说似乎有点矫枉过正。有没有人遇到过这样的事情?

13 个答案:

答案 0 :(得分:16)

我不认为svn对你正在做的事情有点过分。设置本地存储库非常简单。

答案 1 :(得分:14)

Git符合您列出的所有要求。

答案 2 :(得分:8)

为什么颠覆是一种矫枉过正?一分钟安装服务器和TortoiseSVN,零配置。

如果你想控制你的源代码,从一开始就做正确的方法,不要重新发明轮子。

答案 3 :(得分:5)

结帐Bazaar。它是一个版本系统,适合人类!它得到了Ubuntu人员的支持,他们为人类创造了Linux。

答案 4 :(得分:3)

我经常使用Subversion,并且设置个人使用并不困难 - 但其他选项要简单得多!

例如,尝试BazaarMercurialGit。使用其中任何一个 trivial 来设置本地存储库。

答案 5 :(得分:2)

git,mercurial,bzr,svn ...... list一直在继续。

真的,只需选择一个就可以了。我从命令行执行所有源代码控制,但是其中许多/大多数都具有良好的guis。祝你好运。

答案 6 :(得分:1)

Perforce最多可供2位用户免费使用。在那之后,你支付 - 但如果你知道你永远不需要更多,它是一个非常有能力的产品,具有出色的GUI和IDE集成。

答案 7 :(得分:1)

Subversion on a [USB] Stick?怎么样当我需要源代码控制时,我会使用它,但不想担心多用户。您还可以使用TortoiseSVN访问存储库。

答案 8 :(得分:1)

您可以在没有服务器安装麻烦的情况下使用Subversion。

只需下载TortoiseSVN并在您喜欢的文件夹中创建本地存储库。使用相同的客户端进行更新,提交......

请参阅我之前的post链接和相关答案。

答案 9 :(得分:0)

如果您的本地计算机上有sql server(以任何方式,形状或形式),那么我可以推荐sourcevault ...它对于单个用户是免费的,并且模拟了sourcesafe接口(许多人都熟悉它) )非常好......

也有一个很好的工具集。

http://sourcegear.com/

编辑:完全无关紧要,但有趣但是......我讨厌SourceGear的虫子! ;)在SourceVault问世之前,我正在努力替换SourceSafe ...就像他们的产品......(这就是我的网站/公司的“嬉皮士”名字来自......但是骚扰者打败了我它... C'est la vie!

无论如何,尽管他们击败我,SourceGear Vault实际上是一个非常棒的软件,他们的新Fortress(集成了bug跟踪和测试)看起来也很不错。

答案 10 :(得分:0)

正如其他人所提到的那样,使用分布式VCS(例如mercurialgitbazaar)是进行简单设置的方法。无论设置服务器多么容易,你都无法击败而不是必须设置一个服务器。

我通常使用mercurial,所以这就是我要描述的内容,但各种DVCS都很容易使用。从命令行使用它相当简单,但由于你正在寻找一个gui接口,显而易见的候选者是TortoiseHg。这与TortoiseSVN非常相似 - 它与资源管理器集成,并为您提供各种菜单条目。

答案 11 :(得分:0)

在项目开始时设置存储库是一次性操作。这需要花费5分钟或20分钟并不重要。这个时间将会被您使用GUI客户端进行签入,签出,添加标签所花费的时间所淹没。

使用TortoiseSVN客户端尝试SVN。

答案 12 :(得分:-3)

这是一个无耻的插件,但我无法抗拒。

我正在开发一种可能对您有用的工具。

我还没想出这个名字,所以我使用的是“Code Agent”的代号。

它的设计主要是作为源控件设置的补充,但如果你只是一台机器上的一个开发人员,它可能是一个有用的替代品。

这是在您的开发机器上运行的服务。您将其指向包含源代码的文件夹,然后每次更改文件时它都会自动创建备份。

它旨在填补源控制系统留下的巨大空白:

它们仅在您明确签入文件时保护您的文件。

源代码控制主要是关于在项目的多个版本中管理团队(几个开发人员)的输出。因此,将损坏的代码签入源代码控制通常不是一个好主意。大多数情况下,开发人员只在“主要工作”时签入代码。

在最好的环境中,拥有最好的开发团队,这通常意味着你可能只是每天一次登记(在整个项目中)。

在最糟糕的情况下,它可能会低至每隔几天或几周一次。

即使在最好的情况下,很多东西都可以在白天发生。我知道,如果我在滚动,例如,我可以在一天中引入相当多的错误。在一两个星期内,我真的可以搞砸了。

将代码更改为更细粒度的历史记录,然后每天一次或每周一次,可以非常有用。

可以使用“私有”源代码控制分支执行此操作,但这需要您:

  1. 设置私人分支
  2. 通过与主分支进行常规集成来花时间管理分支
  3. 请务必定期检查您的更改到私人分支机构。
  4. 最后一个可能是杀手。忘记这件事很容易。

    当然,一旦你设置了一个私人分支,其他人就会出于某种原因想要访问其中的代码,这最终会阻止你按照自己的意愿定期检查,这最终会破坏私人分支机构的整体目的。

    “代理代理”解决了所有这些问题。

    你可以设置一次,忘记它。

    然后,无论何时需要,您都可以获得本地源代码历史记录。全部自动完成,无需将“错误代码”签入您团队的源代码控制存储库。

    对于团队中的开发人员,我的工具不是源代码控制的替代品,而是设计为对它的补充。在团队中,您仍需要明确管理共享源代码树的签入。

    在您的情况下,因为您不在团队中,所以最好将其用作源代码控制的替代品。您可以添加与特定时间点对应的标签或“快照”(例如“已修复的错误1234”,“已完成的功能x”等)。

    然而,这不是免费或开源的......这是我将要收取费用的工具。

    但是,个人开发商购买时应该可以负担得起(我尚未确定价格)。

    我将在1月初到中旬的某个时间寻找Beta测试人员。 如果您有兴趣,请告诉我,我很乐意为您安排私人测试版。