-1

我需要一个软件,它可以保存文件的所有以前版本,并带有某种“自动提交”。我不想使用 github 等远程服务器。

我是那些尝试通过反复试验来做所有事情的菜鸟程序员之一。但是,有时,源代码的更改会更糟,我需要回到旧版本的源代码。今天更糟。断电后,我辛勤工作的代码完全被空字节填满。

4

5 回答 5

3

答案就在问题中。安装 SVN(或其他 SCM)。

至少 eclipse 有一个本地历史,以防你需要回到你没有承诺的事情。不知道其他IDE。

于 2012-05-31T21:57:17.690 回答
2

有许多在本地工作的版本控制系统。例如,Git 是完全独立的。您可以将历史记录推送到远程服务器,但没有必要这样做。Mercurial 也是如此。甚至 Subversion 和 CVS 也允许您使用本地的、基于文件的存储库,尽管使用它们您有一个额外的步骤,即在与工作目录不同的位置创建该存储库。

踢它真的很老派,RCS 和 SCCS 根本没有服务器的概念。:)

我不确定 OP 反对基于服务器的 SCM 系统是什么。远程备份是一件好事,您可以免费获得它们。但大多数 SCM 系统完全包含在一个盒子中工作正常。

就“自动”提交而言,您可能可以将 IDE 配置为每次保存时提交。这似乎比IDE之外的东西每N分钟自动保存文件更有用。

于 2012-05-31T21:58:41.557 回答
2

您不需要远程服务器。只需使用像样的单片机。Subversion 可能不是您最好的选择,因为它要求您在工作副本之外设置存储库,这可能很不方便。最重要的是,在其开发过程中做出了一些糟糕的设计决策,这可能会导致令人沮丧和困惑的情况。

假设您在 Windows 上,我会推荐mercurial - 它简单、独立、易于学习、跨平台且免费(在两种意义上)。基本上,它所做的是.hg在项目的根目录中创建一个名为的隐藏目录,其中保存了项目的完整历史记录。您确实必须主动告诉它何时制作快照,但这确实简单明了。查看http://hginit.com/以获取严肃的介绍。

另一种选择是git;它比 mercurial 更通用,速度稍快,但 windows 端口有点孤儿,而且它的社区对菜鸟不太友好。

于 2012-05-31T22:07:43.920 回答
1

好吧,我当然会推荐使用“普通”的 SCM,但既然你反对,那么简单的旧 Windows 备份怎么样?如果你使用 BitBucket,你可以选择 mercurial,它是一个分布式系统,在你推送之前只保留本地的 repo 副本。

另一种选择是使用命令行脚本每 X 分钟提交到 SCM,例如 SVN 或 Mercurial。

Mercurial/BitBucket 命令:

hg commit -m "Auto Committed"  

将其粘贴在批处理文件中并使用调度程序按时间间隔运行它。

不要与工具作斗争...

于 2012-05-31T21:57:27.130 回答
0

当我开始编程并想要一个类似的东西时,我只是在我的电脑上使用了 Dropbox,并将我的项目文件夹放在我的 Dropbox 中。每次您在保管箱中保存文件时,它都会自动发送到服务器,您可以在网站上查看每个保存并下载/恢复到以前的版本。简单,容易,您无需担心源代码控制系统的所有额外功能,如果您是学生,那么在他们的计算机上没有 SVN 的学校里,可以轻松地处理您的东西。

于 2012-05-31T22:07:34.163 回答