如何在没有服务器的情况下在本地网络上设置版本控制系统?

时间:2009-12-03 22:19:41

标签: visual-studio svn version-control local-network

编辑:好的,所以我了解到我想我需要一个分布式源代码控制,但是有没有基于UI的代码,并且它们是否允许您与网络上的其他用户合并?

这是一个两部分问题,所以在这里。我想开始在家里开发一个Web应用程序(有多个开发人员)。但是,我没有专门的服务器也不想付费。

首先,我不知道在这种情况下使用哪个版本控制系统,因为在工作中我们大多数都有TFS设置,所以我不熟悉那里的什么。什么是最好的免费CVS / SVN工具?

第二,是否有可能以某种方式设置CVS / SVN,其中没有专用服务器,并且两个客户端都存储了最后一次登记的源代码长达一周的时间?

此外,如果它可以与视觉工作室集成将是有帮助的,再次这根本不重要。

问题:

有五个用户,一个是服务器。

服务器已连接:全部正常

服务器已断开连接:无人可以共享。

我在寻找:

没有服务器:

  1. 用户仍然可以根据上次办理登机手续的版本ID进行版本控制。
  2. 用户必须检查网络上的所有版本,以确保它们不会因过去的版本ID而过时。
  3. 如果没有办理登机手续,否则合并/获取最新信息。
  4. 如果他们是更新签入,并设置当前版本ID +1。

8 个答案:

答案 0 :(得分:3)

如果您正在寻找没有核心仓库的源控件,那么您正在寻找一个分布式源代码控制系统,例如Git或Mercurial。

答案 1 :(得分:1)

最好的免费CVS / SVN工具是SVN

此外,在任何计算机上轻松设置SVN服务器。阅读罚款manual

答案 2 :(得分:1)

我假设您的开发人员会在某个时刻连接到每个(可能在您的LAN上)以合并您的所有代码。如果是这种情况,我强烈建议使用DVCS(分布式版本控制系统)。街区流行的孩子是Git,但还有像Mercurial这样的人。如果你主要在Windows上开发Mercurial似乎有更好的支持。 DVCS的主要优点是它们专为断开连接的团队而设计。

希望有所帮助。

答案 3 :(得分:1)

你应该对VisualSVN server感兴趣。它有免费版巫婆就足以满足您的所有需求。顺便说一句,toroise SVN甚至支持任何文件夹或闪存驱动器上的存储库,因此您不需要在单独的服务器中。至于与VS的融合,Visual SVN可以帮助你,但它不是免费的。享受=)

答案 4 :(得分:1)

对于低学习曲线,最容易使用SVN,因为它关闭了TFS模型。但这也意味着专用服务器。我建议VisualSVN server因为设置起来很简单。然后,您需要将其在外部运行的端口暴露给您家庭网络之外的其他开发人员。要与Visual Studio集成,请查看AnkhSVN。或者坚持像TortoiseSVN这样的传统客户。

这意味着任何远程开发人员在与存储库交互时都会变慢。这就是像Git这样的选项的用武之地,但当你习惯于集中式存储库时,肯定会有一些学习曲线。有一些工具可以将Git连接到SVN以获得两全其美的效果。我没有尝试在Windows环境中使用它们,因此我不会谈论它们的使用方式。我刚刚开始使用Git进行项目,主要是因为我无法在其他地方设置存储库。

答案 5 :(得分:0)

通过JetBrains进行连续集成的TeamCity非常好,易于配置,而且您不需要“服务器”,只需要一台机器即可。它也很好地与颠覆相结合。这是使用VisualSVN服务器设置的快照。 Visual Studio的VisualSVN插件。

答案 6 :(得分:0)

您是否考虑过使用在线托管解决方案?这样你就不必担心设置服务器,管理备份等了。有些服务可以免费提供 - 我自己试过的是Beanstalk,它使用Subversion并有一个免费的计划最多三个用户,占用100 MB空间。适用于较小的项目。

答案 7 :(得分:0)

正如一些回复所示,像Git或Mercurial这样的分布式版本控制就是您所需要的。也许如果您可以解释您的分布式团队是如何工作的,可以建议另一种可能的解决方案。

例如,您提到了在家中设置工作并让团队在工作中使用过TFS。也许如果你的工作安排是由你工作的大部分团队组成,而你独自在家工作,那么你可以做以下事情:

  1. 让SVN参与所有团队成员合作的工作,解决复杂性问题和学习曲线
  2. 您可以在家中使用git-svn,在那里您可以使用svn服务器的本地存储库,并且您仍然可以在本地工作并进行所有类型的更改和分支...并且只将您想要的更改合并到工作SVN存储库。