单机用户免费版本控制[关闭]

问题描述 投票:3回答:2

有几个类似的问题,但其中一些是5岁(所以可能有更好的新东西),其他不满足我的所有要求。

我正在寻找版本控制软件的建议。

  • 必须免费用于商业用途。
  • 所有开发都将由一个人完成。
  • 所有开发都将在一台机器上完成 - 64位Windows 7机器。
  • 许多小项目 - 每个项目都很小 - 只需要几周的工作量。所以开始一个新项目应该非常快。
  • 应该有一个登记命令行。
  • 应该有一个图形方式来查看文件的版本历史记录 - 即我输入“history file.cpp” - 它应该给我一个窗口,其中包含该文件的所有版本以及一种简单的方法来进行视觉差异(使用可插拔的difftool - 我喜欢windiff)历史上任何两个版本。
  • 这项工作将采用不同的编程语言 - (C,C ++,Java,VBScript等)。
  • 完全不需要IDE集成。
  • 创建标签/标签应该快速而简单。
  • 合并和分支永远不会完成,因此与这些相关的任何功能都不相关。
  • 永远不需要解决冲突。
  • 基本的东西非常快速的学习曲线。
  • 应该有一个命令来检查包含子目录的目录下的所有签出文件。这应该在没有运行命令时抛出UI的情况下发生。即,应从命令行接受所有文件共有的注释。

即checkin -r * .cpp -c“添加新内容”。

  • 我喜欢我使用的perforce客户端中的一些功能 虽然有一个checkout命令,但我也可以强制保存文件而不用结帐并继续工作。然后运行一个命令,搜索目录/子目录中已强制保存并检查出来的所有文件。
  • 不应该要求我在存储库中添加新目录。在目录中添加文件应该自动添加目录 - 即我需要在目录new中创建一个新文件A.java。我会做 md new cd new // edit and create the file A.java // create and checkin the new file A.java into the repository // without complaining that the directory doesn't exist in the repository.
  • 应该很容易备份。即每周一次,我使用SyncToy将内容备份到外部硬盘。我不介意使用不同的方式将版本控制存储库备份到外部HDD中,但备份应该很简单 - 如果我的笔记本电脑崩溃,我应该能够重新创建所有存储库,包括备份中的版本历史记录。
  • 我正在寻找轻量级的东西。即不要求我设置单独的服务器等。

在多开发人员巨大的项目环境中的不同时间,我使用了perforce和CVS - 非常喜欢perforce。从不喜欢CVS,但使用Tortoise UI进行CVS让它变得可以忍受。

然而,对于这些版本控制系统,我始终是一个用户 - 从来不是管理员(即开发人员没有管理版本控制系统 - 那里有单独的版本控制专家) - 即我从未创建过新的存储库 - 所以我的知识只是客户端的东西。

我知道任何一个系统都不能满足我的所有要求 - 但是尽可能接近的东西会很棒。

version-control
2个回答
2
投票

[免责声明:我将SVN用于我的工作和个人项目,并且没有使用Mercurial的经验。]

大多数流行的版本控制系统都涵盖了大多数人的需求。

我打算建议SVN直到阅读关于不添加目录的项目。据我所知,从Mercurial哲学的描述中,它管理文件,而不是目录,因此在添加文件时会自动添加任何缺少的目录。

当然,对于任何流行的版本控制系统,都可以实现这样的功能,但如果您正在寻找开箱即用的功能,可能您需要检查Mercurial ...


2
投票

虽然这里的主题很偏僻,但我会试试

© www.soinside.com 2019 - 2024. All rights reserved.