4

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

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

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

其次,是否有可能以某种方式设置没有专用服务器的 CVS/SVN,并且两个客户端都可以从上次签到时存储长达一周的源代码?

此外,如果它可以与 Visual Studio 集成会很有帮助,这一点也不重要。

问题:

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

服务器已连接:一切正常

服务器断开连接:没有人可以共享。

我在找什么:

无服务器:

  1. 用户仍然根据上次签入的版本 ID 进行版本控制。
  2. 用户必须检查网络上的所有版本,以确保根据他们的最后一个版本 ID 没有过时。
  3. 如果不签入,否则合并/获取最新的。
  4. 如果他们是更新签入,并设置当前版本 id +1。
4

8 回答 8

3

如果您正在寻找一个没有中央存储库的源代码控制,那么您正在寻找一个分布式源代码控制系统,例如 Git 或 Mercurial。

于 2009-12-03T22:21:51.023 回答
1

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

此外,在任何机器上设置 SVN 服务器都很容易。阅读精美的手册

于 2009-12-03T22:23:22.627 回答
1

我假设在某些时候您的开发人员将连接到每个(可能在您的 LAN 上)以合并您的所有代码。如果是这种情况,我强烈建议使用 DVCS(分布式版本控制系统)。街区里最受欢迎的孩子是 Git,但还有其他的,比如 Mercurial。如果你主要在 windows 上开发 Mercurial 似乎有更好的支持。DVCS 的主要好处是它们是为断开连接的团队设计的。

希望有帮助。

只读存储器

于 2009-12-03T22:26:25.990 回答
1

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

于 2009-12-03T22:26:55.787 回答
1

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

这意味着任何远程开发人员在与存储库交互时都会变慢。这就是Git等选项的用武之地,但是当您习惯于集中式存储库时,肯定会有一些学习曲线。有一些工具可以将 Git 连接到 SVN,以实现两全其美。我没有尝试在 Windows 环境中使用它们,所以我不会谈论它们的易用性。我才刚刚开始将 Git 用于项目,主要是针对我无法在其他地方设置存储库的情况。

于 2009-12-03T22:30:48.480 回答
0

JetBrains 用于连续集成的 TeamCity 非常好,易于配置,并且您不需要“服务器”,只需一台开机即可。它也与颠覆很好地集成在一起。使用 VisualSVN 服务器可以轻松设置。以及 Visual Studio 的 VisualSVN 插件。

于 2009-12-03T22:23:31.097 回答
0

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

于 2009-12-03T23:00:32.380 回答
0

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

例如,您提到了在家中设置工作并拥有过去使用 TFS 的团队。也许如果您的工作设置由您的大部分团队组成,而您独自在家工作,那么您可以执行以下操作:

  1. 让 SVN 在您的所有团队成员一起工作的地方工作,解决复杂性和学习曲线问题
  2. 您可以在家中使用 git-svn,在那里您可以使用 svn 服务器的本地存储库,并且您仍然可以在本地工作并进行各种更改和分支..并且仅将您想要的更改合并到工作 SVN 存储库.
于 2009-12-03T23:32:11.980 回答