我需要一个可以保存文件的所有先前版本的软件,具有某种“自动提交”功能。我不想使用像github等的远程服务器。
我是那些试图通过反复试验做任何事情的noob程序员之一。但是,有时候,源代码的更改会使事情变得更加棘手,我需要回到旧版本的源代码。今天更糟糕。在功率失效后,我辛苦工作的代码完全填满了空字节。
答案 0 :(得分:3)
问题的答案就在于此。安装SVN(或其他SCM)。
至少eclipse有本地历史,如果你需要回到你没有犯过的东西。不知道其他IDE。
答案 1 :(得分:2)
有许多本地版本的版本控制系统。例如,Git完全是独立的;您可以将历史记录推送到远程服务器,但不需要这样做。 Mercurial也是如此。甚至Subversion和CVS也允许您使用本地的基于文件的仓库,但是如果使用它们,您还可以在与工作目录不同的位置创建该仓库。
踢它真的很老,RCS和SCCS根本没有服务器的概念。 :)
我不确定OP对基于服务器的SCM系统的反对意见;远程备份是一件好事,你可以免费获得它们。但是大多数SCM系统完全可以完全包含在一个盒子里。
就“自动”提交而言,您可以将IDE配置为每次保存时提交。这似乎比IDE之外的东西更有用,每N分钟或其他任何东西自动保存文件。
答案 2 :(得分:2)
您不需要远程服务器。只需使用体面的SCM。 Subversion可能不是你最好的选择,因为它要求你在工作副本之外设置一个存储库,这可能很不方便。最重要的是,在开发过程中做出了一些糟糕的设计决策,这可能会导致令人沮丧和混乱的情况。
假设您使用的是Windows,我建议使用 mercurial - 它简单易用,易于学习,跨平台且免费(在两种意义上)。基本上,它的作用是在项目的根目录中创建一个名为.hg
的隐藏目录,在该目录中保存项目的完整历史记录。你必须积极地告诉它何时制作快照,但这非常简单明了。请查看http://hginit.com/以获取严肃的介绍。
另一种选择是 git ;它比mercurial更加通用,而且速度稍快,但是windows端口是一个孤儿,而且它的社区对noob友好。
答案 3 :(得分:1)
好吧,我当然会建议使用“正常”的SCM,但既然你反对那个,那么普通的旧Windows备份呢?如果你使用BitBucket,你可以选择mercurial这是一个分布式系统,保留一个本地唯一的repo副本,直到你推送它。
另一个选择是使用命令行脚本每隔X分钟提交一个SCM,例如SVN或Mercurial。
Mercurial / BitBucket命令:
hg commit -m "Auto Committed"
将其粘贴在批处理文件中,并使用调度程序在一段时间内运行它。
不要打击工具......
答案 4 :(得分:0)
当我开始编程并想要类似的东西时,我只是在我的计算机上使用Dropbox,并将我的项目文件夹放在我的Dropbox中。每次在Dropbox中保存文件时,它都会自动发送到服务器,您可以查看站点上的每个保存并下载/恢复到以前的版本。简单,容易,您不必担心源控制系统的所有额外功能,如果您的学生可以轻松地在他们的计算机上没有SVN的学校工作。