gpt4 book ai didi

version-control - 单一开发人员的源代码控制系统

转载 作者:行者123 更新时间:2023-12-03 05:50:33 25 4
gpt4 key购买 nike

对于非常小的团队(一个开发人员)推荐的源代码控制系统是什么?

价格并不重要。客户会付款:-)
我正在用 C++ 和 VS 2008 开发 Vista32,后来又用 C# 和 WPF 开发。为此设置额外的(物理)服务器对我来说似乎有点过分了。

有什么意见吗?

最佳答案

我会使用 Subversion(事实上我使用它)[更新:2014 年 7 月 - 我使用 Git - 参见答案末尾]。SVN 是:

  • 免费,
  • 足够好(参见下面的缺点),
  • 简单,
  • 在 Windows(以及 Linux)上运行良好,
  • 很多人都使用它,因此很容易获得帮助,
  • 可以与大多数 IDE 集成,即 Visual Studio(即 ankhsvnVisualSVN -- more info )或 Eclipse(即 Subclipse -- here有人问过这个问题)。

强烈推荐使用单独的机器到源代码控制服务器。最好的情况是在云端。优点:

  • 即使您的开发盒失效,您也不会丢失源代码控制存储库。
  • 您不必担心多一个盒子的维护问题。

有些公司host SVN repositories .

Here是各种操作系统的 SVN(客户端和服务器)包的链接。

SVN 的缺点

我在 Windows 机器上使用 SVN 大约 5 年了,发现 SVN 有一些缺点:)。

在大型存储库上速度很慢

SVN(或其客户端——TortoiseSVN)有一个缺点——在大型(数千个文件)存储库上(更新或提交时)速度非常慢,除非您有 SSD开车。

合并可能很困难

许多人提示 SVN 合并有多么困难。

我进行了大约 4 年的合并(包括在 CVS 中进行了大约 2 年——这很糟糕,但可行),在 SVN 中进行了大约 2 年。

就我个人而言,我并不觉得这很难——另一方面——在 CVS 中合并分支后,任何合并都很容易:)。

我每周都会合并一次大型存储库(实际上是两个存储库),很少会遇到难以解决的冲突(大多数冲突都是使用我使用的 diff 软件自动解决的)。

但是,如果您保留一些简单的规则,那么如果几个开发人员的项目合并根本不成问题:

  • 经常合并更改,
  • 避免同时在各个分支进行积极开发。

2011 年 7 月添加

许多开发者推荐Distributed Version ControlGitMercurial .

单一开发人员的角度来看,DVCS 相对于 SVN 仅有几个重要优势:

  • DVCS 可以更快。
  • 您可以提交到本地存储库,而无需访问中央存储库。
  • DVCS 很热门,而且很好用/学习(如果有人为您的学习付费)。

而且我认为对于单个开发人员来说合并不是问题。

乔尔·斯波尔斯基写道 tutorial about Mercurial这绝对值得一读。

因此,尽管 DVCS 有许多优点,如果合并或速度不是问题,我会继续使用 SVN。

或者尝试 Mercurial,根据 thisthis SO 问题在 Windows 上得到了更好的支持(2011 年 7 月)。

2014 年 7 月添加

在大约一年的时间里,我使用 Git(主要是 Git Bash)来处理我的宠物项目(即解决 Euler 问题),每个 Euler 问题的本地分支都是非常好的功能——正如它被描述为 DVCS 的优势一样。

如今 Windows 上的 Git 工具比 2 年前或更多年前要好得多。您可以使用远程存储库(例如 GitHub 或 ProjectLocker 等)来保留无需额外的精力/金钱即可从工作站复制您的项目。

但是我使用 GUI 客户端仅查看差异(有时选择要提交的文件),所以最好不要害怕命令行——它真的很好。

所以从今天开始我会选择 Git。

关于version-control - 单一开发人员的源代码控制系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com