最简单的版本控制系统

时间:2009-03-30 14:48:09

标签: version-control

我想建立一个源代码控制系统:

  1. 已联网,因此用户可以在工作中或在路上访问
  2. 不需要提供共享,锁定模式就足够了
  3. 只有三个用户,他们永远不会使用相同的代码
  4. 我们没有系统管理员,也没有太多的知识,所以设置和配置必须简单。
  5. 将安装在Windows服务器上
  6. 开源或免费
  7. 建议请。

11 个答案:

答案 0 :(得分:18)

SVN涵盖所有这些,并且很容易设置。

从第2点开始,共享往往比锁定更好,因为一个文件被某人随后去度假/死亡等等锁定。需要在某个人可以被其他开发人员处理之前解锁。 SVN支持“开箱即用”共享。

答案 1 :(得分:16)

SIMPLEST 系统就是我们在这里所说的“Hey Chris”系统。我们有一个网络驱动器,每个人都可以安装,如果你想编辑的东西,你应该“嘿,克里斯,你在blahblah.cpp吗?”克里斯说“不。”然后你编辑blahblah.cpp,并将其粘贴在共享驱动器上...如果你想要版本,只需每晚备份网络驱动器。

我从未说过这是最好的系统,只是最简单的系统。

答案 2 :(得分:6)

答案 3 :(得分:5)

尝试Subversion (svn)

编辑:Rich打败了它= D。是的,因为他指出共享比锁定更好。听起来你是SourceSafe用户。这些是我从SourceSafe搬出时试图解决的同一组问题=)

答案 4 :(得分:5)

我只能将我的声音添加到“使用颠覆”合唱中。但您也在询问简单的安装和管理

为此,我会指向VisualSVN Server。它是一种易于在Windows上安装的服务器。它是免费的。

或者如果你想进行手动设置(可能是因为你不想使用与visualsvn服务器捆绑在一起的apache),请关注Jeff的Setting up Subversion on Windows

答案 5 :(得分:3)

我建议Toroise SVN。 SVN是一个易于在Windows上设置和使用的源代码控制环境,而Tortoise是一个与Windows资源管理器集成的附加软件。

尽管使用简单,但它允许不同的人处理同一个文件并合并他们的更改。即使“不可能发生”,我预测在某些时候你会很高兴它以这种方式运作。

答案 6 :(得分:3)

我真的为此挖掘了Git和GitHub。 Git很不错,因为每个开发人员都可以检查并查看历史记录,即使他们处于脱机状态(例如,在飞机上或在某处的偏僻地区),然后在他们重新上线时将他们的更改推送到中央存储库。 GitHub非常,非常适合作为中央存储库,并且包含许多非常方便的工具,用于审查和评论其他人的签到。

您每天使用的基本命令归结为:

git add .
git commit -m "this is a note"
git pull origin master
git push

Git可以很好地处理大多数冲突,并且速度快,速度快,因为整个存储库都在每台机器上。

Kyle Cordes wrote a blog post关于开始使用Windows。

答案 7 :(得分:2)

令我惊讶的是,没有人推荐Fossil版本控制系统。它检查所有询问者的要求。它稳定且简单,仅包含一个自包含的可执行文件,可通过UI轻松管理,并且仅使用HTTP。是的,可以在Windows上运行。

此外,它提供了一个不错的Web界面,还管理错误跟踪和Wiki。

它是由SQLite员工制造(使用)的,对我来说,这是可靠性的保证。

答案 8 :(得分:1)

Darcs提供了所有这些以及更多内容。它是一个分布式版本的控制系统,可以更方便地访问道路上的数据。您可以通过电子邮件或ssh发送/接收补丁(类似于修订版)。

关于我最喜欢的darcs的事情是它真的很冗长。它真的试图帮助你。

答案 9 :(得分:1)

很多关于SVN的建议,但我不确定从管理角度来看,我称之为“最简单”。您仍然需要设置服务器IIRC。相比之下,像Mercurial这样的DVCS没有区分“存储库”和“工作副本”。要在服务器上放置一些东西(可以是任何你有文件共享访问权限的文件夹),你可以在那里“推”它。

你还提到在路上工作。 DVCS在这方面特别擅长。您的笔记本电脑将具有完整的历史记录,因此您只需要触摸或拉动服务器,而不仅仅是做差异或检查历史记录。

答案 10 :(得分:-1)

我所知道的最简单的版本控制系统是版本控制系统RCS 。它是一个命令行实用程序,可在Linux系统上开箱即用。它的用法非常简单。

首先。在当前目录中,创建一个存储RCS信息的目录:

$ mkdir RCS

第二。将文件存储(签到)到RCS:

$ ci -t-"My notes" notes.txt

原始文件被删除。

第三。从RCS恢复(签出)原始文件:

$ co -u notes.txt

第四。根据需要编辑文件,现在可以随时恢复:

$ vim notes.txt

RCS也在使用二进制文件,并支持对文件进行的许多后续更改。