是否有一个仅适用于一个人的准系统Windows版本控制系统?

时间:2008-09-08 12:46:58

标签: windows version-control

我正在尝试为自己的个人使用找到一个尽可能简单的源代码控件。我需要的主要功能是能够读取/拉取我的代码的过去版本。我是唯一的开发人员。我看过很多不同的版本控制系统,但它们看起来都比我需要的更复杂。我需要一个简单的,在Windows下运行,并且不会将自己暴露给网络。

具体来说,版本控制系统要求公开HTTP接口,它应该只与本地文件系统交互。它只需要是一个版本控制系统,仅适用于一个人和一个人。图形用户界面是一个加号。

有谁知道软件能满足我的要求吗?

谢谢!

-Mike

26 个答案:

答案 0 :(得分:40)

Subversion很棒 - 您可以自己运行服务器或使用assembla.com之类的东西来托管您的代码(尽管这会将它暴露给网络)。

有许多gui应用程序,如tortoise svn,可以让您与源代码控制存储库进行交互

答案 1 :(得分:10)

根据我的理解,冒着听起来像粉丝的风险,你可能想要考虑像git或mercurial这样的DVCS(分布式版本控制系统)。它们基本上剥夺了中央存储库部分,因此当您是独立开发人员时,它应该是理想的选择。

另一个优点是,当您决定将人员添加到您的单人团队时,您不必设置中央存储库。他们所要做的只是克隆您的存储库,他们很高兴去!

如果你是基于Windows并且习惯使用像TortoiseSVN这样的shell插件我会选择mercurial。使用TortoiseHg,他们的windows集成比git好一点。由于开发人员厌倦了人们的所有要求,git对应物(猎豹)暂时搁置; - )

如果DVCS对于这种情况来说太奇特了,你总是可以依赖SVN。我听说过有关已经提到的VisualSVN解决方案的好故事。安装,制作一些存储库然后去。安装TortoiseSVN进行shell集成,或者分别为eclipse和visual studio安装Subclipse或ankhSVN。

注意:我在实际项目中实际上没有尝试过git或mercurial,只是一些测试设置。我现在有一个简单的项目WITH版本控制(在我的情况下使用mercurial),而不必访问中央存储库。

答案 2 :(得分:9)

Sourcegear Vault对于单个用户是免费的,您可以在自己的计算机上运行客户端和服务器。

答案 3 :(得分:6)

SubversionTortoiseSVN

与所有版本控制系统一样,启动时听起来相当复杂,但一旦进入它就非常简单,适用于单个开发人员,如果不这样做则不需要任何网络访问想要它。

另外,它是免费的。

答案 4 :(得分:5)

对于它的价值,你可以使用Subversion&没有服务器的TortoiseSVN使用file:/// URL连接到您的存储库。我这样做是为了在USB拇指驱动器上创建我可以在机器之间移动的存储库。

这是一篇很好的文章:http://www.fredshack.com/docs/tortoisesvn.html

答案 5 :(得分:3)

我使用Perforce的免费(2用户?)许可证。功能强大,速度快,记录完备。

答案 6 :(得分:3)

对于Windows,我是一个非常满意的用户msysgit。它包含最新的git副本以及单个安装包中的GUI,shell和历史浏览器。

不需要服务器组件,如果您决定将其托管在您的存储库已签名的某个地方,并且无法在没有您看到的情况下由托管商修改。最后,将repo移动到服务器是一个简单的“推送”操作,它可以保留您的所有历史记录。

答案 7 :(得分:2)

你可能会发现Mercurial非常适合这个目的。您不必设置服务器,创建存储库就像在工作目录中执行“hg init”一样简单。

答案 8 :(得分:2)

您可以使用Mercurial

  • 开始使用起来非常容易,并且TortoiseHg可以很好地与Windows shell集成。
  • 您不需要服务器,因为它是分布式版本控制系统 - 您可以在闪存驱动器上保存整个存储库副本并从中推送/拉出更改。
  • 如果您愿意,可以将hg置于Web服务器模式,以便通过http轻松访问存储库。
  • 与SVN和CVS相反,它不会在整个存储库中传播其元数据目录。存储库根目录中只有一个.hg目录。

我每天都使用它并喜欢它!

答案 9 :(得分:2)

之前的所有建议都非常简单,我知道cvs现在有点不流行,但我喜欢使用它的本地模式来建立一个甚至不需要安装或设置服务器的存储库。存储库可以位于硬盘驱动器上的任何位置。即使没有互联网连接,我也可以在记忆棒上随时随地访问它。

关键命令是:

cvs -d:local:/ full / path / repository init

创建存储库

mkdir / full / path / repository / project

创建模块,

cvs -d:local:/ full / path / repository / cvs co project

查看本地版本。

TortoiseCVS为您提供了图形用户界面

答案 10 :(得分:2)

我喜欢使用Google Code,即使是我的单人项目,因为它提供了一个已经设置的Subversion存储库。此外,服务器是非现场的,可以防止硬盘故障和其他灾难。

答案 11 :(得分:2)

集市。请参阅Bazaar in five minutes以获得良好的开端。

每当您保存文件时,请运行$ bzr commit -m "Added first line of text"命令,并且一切都很谨慎。

如果您通过FTP进行编辑,请将FTP文件夹设置为驱动器或文件夹,并在提交后设置为bzr update

答案 12 :(得分:2)

为Subversion +1,对于那些不熟悉它的人我会推荐SVN Book

答案 13 :(得分:2)

VisualSVN Server是Windows上Subversion Server的完整安装程序。

VisualSVN是Subversion集成的Visual Studio插件。

答案 14 :(得分:2)

对于Windows上的版本控制,你真的比VisualSVN更容易。

答案 15 :(得分:1)

我来到这里寻找同样的事情,我看到有人建议谷歌代码。我试了一下,脑子里很容易设置。正是我在寻找什么。就像TortoiseSVN(我最喜欢的)的魅力一样。

我来这里寻求解决方案,谷歌代码大约在2分钟内完成。您可以为版本控制选择SVN,git或mercurial。

答案 16 :(得分:1)

我使用SubversionTortoiseSVN - 两者都是免费的。您的存储库可以在本地计算机上。您无需通过网络工作。

但是,对于灾难恢复甚至简单的机器故障,将存储库存储在另一台计算机上并备份它可能是个好主意。

您可能需要考虑使用第三方服务通过互联网在异地托管您的存储库。我使用CVSDude并感到满意。

答案 17 :(得分:1)

我也是一名独立开发者,我使用Subversion和TortoiseSVN。

Subversion的设置快速而轻松;它可以在不到半小时的时间内完成,包括设置存储库。

Subversion没有要求在服务器上运行,我实际上是在本地计算机上运行它并将我的存储库保存在单独的驱动器上。连接到存储库使用svn://而不是http://。我不确定为什么你要求它不会暴露自己的网络,但这将是一个安全问题,通过默默无闻。我敢肯定网络专家可以提出更好的方法来锁定它,如果有必要的话。

创建存储库后,存储库中的提交和更新就像在Windows资源管理器中右键单击文件夹一样简单。

答案 18 :(得分:1)

任何分布式版本控制系统最适合单独的开发人员,例如git或Mercurial。最好的是,您可以无缝地将更多开发人员纳入您的项目,而不必让他们访问您的主要集中式SVN或CVS存储库。

答案 19 :(得分:1)

SVN和TortoiseSVN为我工作。绝对确保您有异地备份。

您可能需要查看Wiki文章Comparison of revision control software。 A(稍微难以阅读)comparison tool可能有所帮助。您可能会喜欢If Version Control Systems Were Airlines

答案 20 :(得分:0)

我听说过我收听的播客上有托管的Subversion供应商Versionshelf(http://www.versionshelf.com)。

此网站还有一个列表:http://snook.ca/archives/servers/hosted_subversion/

答案 21 :(得分:0)

这与Source control system for single developer

的问题大致相同

底线是:是的。超过一个。
我的观点是SVN会做得很好。在类似的情况下,它适用于我,如下所述:Single serving source control

答案 22 :(得分:0)

我没见过有人提过Perforce。 Perforce允许您免费为最多2个用户使用他们的软件。您可以在同一台计算机上运行服务器和客户端,这将为您提供所需的环境。

答案 23 :(得分:0)

您应该将CVSNT检查为服务器并使用您想要的任何客户端(独立或与IDE集成)。有很多。

答案 24 :(得分:0)

使用Visual SVN设置您的服务器,然后使用Tortoise访问您的存储库。两者都可以免费使用,我们已经成功使用它了很长一段时间。

答案 25 :(得分:0)

@gorgapor:Google Code TOS是否指定了开源许可证?在这种情况下,它不是一般适用的解决方案。