任何人都可以为开发人员推荐一个好的备份“系统”吗?

我在办公室被称为“备份人”。 作为一名开发人员,我经常在项目之间来回跳动,结果我并不总是记得当我回到他们的时候每个项目都会发生什么变化。 我通常必须将我的本地更改与源代码pipe理系统中的更改进行比较,然后我最终会记住这一切。 事情是,我并不总是有这样做的奢侈。 有时我必须快速为客户端构build一些东西,所以我做了一个工作目录的备份,这样我就可以从源代码控制中获取最新的文件,并快速构buildDLL – 同时知道另一个(in-进展)变化是安全的。

问题是我现在已经在每个项目目录中累积了一堆备份文件夹,这使得我很难find我正在寻找的具体更改。 虽然我的做法已经发展到我总是花时间为每个备份文件夹提供信息的名称,但我开始认为自己写自己的工具会更好。

例如:如果我在Windows资源pipe理器中select几个文件夹,我想有我自己的上下文菜单项,触发我自己的备份应用程序。 这个应用程序会提示我input备份名称和说明。 然后,它将把选定的文件夹移动到一个特定的集中式备份目录 – 在那里它也会生成一个“readme.txt”文件,概述备份细节。 此外,备份也将按date/时间组织。 我觉得这会改善我的备份过程,并且便于以后的查找。

但是, 我不禁想知道这些工具是否已经存在 。 当然,在备份方面,有人必须像我一样迷恋。

你知道有哪些工具可以帮助我改进我的备份吗?

我知道这篇文章 ,但不完全符合我想要的。 我宁愿将备份保留在同一台机器上 – 我将把它们自己移动到其他机器上。

更新

为了澄清:如果我正在处理任务A,并且突然间需要为客户端构build一些东西(任务B),那么我必须备份到目前为止对于任务A所做的工作,并将源代码pipe理的最新内容导入工作目录。 然后我开始并完成任务B,然后恢复任务A.这是一个理想的,整洁的场景。 但是有时候,我只能回到任务A的下一个星期,或者进一步 – 因为我受到任务C,任务D等的影响 – 所有这些都影响同一个项目。 现在,如果这些变化计划进行检查,那么随着我的进展,我可能会受益于检查它们(但是说实话,我们通常会等到检查完成之前,在这个公司检查 – 这意味着更less检查未完成的代码)。 所以我不确定我的每个备份是否应该等于一个分支 – 因为我的备份有时会过度。

我想你想要的是一个分布式的版本控制系统,比如git。

首先,你现有的源代码管理系统可能已经可以支持这个,以分支的形式。 不要仅仅复制工作目录,而应该把它作为一个独立的分支提交,在那里你可以保留客户端的应用程序版本。

然而,正如skiphoppy所说,分布式源代码控制系统将会更适合这一点。 我非常喜欢Bazaar,但git也非常流行(虽然我不知道它的Windows支持有多好,因为它主要是为Linux内核开发的* nix工具)

使用TortoiseSVN的 Subversion将为您提供这个功能。 概念是不同的(修订,而不是“备份名称”)。 您提到的readme.txt在Subversion日志中进行了总结。 您提供的任何评论都可以用来指导其他人查看修订版。 查看Subversion上的维基百科页面以及首页下载它和TortoiseSVN 。

CloneZilla,备份你的整个硬盘分区,其免费和可靠。 我用它代替Acronis Echo server,它在8分钟内恢复了我的整个系统。

正如skiphoppy所说,一个DSVN真的可以帮助。 Git提供搁置现在正在工作的东西的能力,这样您的工作副本就干干净净了,但是当您完成后,您可以将当前的工作集从现成的架子上取下来。 这似乎是你真正想要的。

如果你使用的是Perforce,还有一些基于tar的工具也可以这样做,但是我还没有使用它们。

如何改变你的工作方式,听起来像有一天,事情会继续上升,如果你继续下去。 需要在变更的中途建立一个dll,并且不得不备份正在进行的工作,但是一旦发布完成,立即重新整合你的变更和发布版本。 我永远不会让自己有同样的应用程序的多个备份,但嘿,这只是我。

我使用混合备份www.hybridbackup.com.au – 基于在澳大利亚他们是唯一真正的人我可以说,可以处理exacly我想要的 – 我没有DLL的问题,我有超过1000个文件,每天都在改变,每次都有人inmy办公室做任何事情 – 我有超过250GB的实时数据,我需要备份每一个更改,我曾经做过的每一个 – 有史以来 – 基本上我可以相当懒惰,复制文件到处都是复制目录,以确保所有东西备份了,但知道每天我改变的事情(包括我的目录备份)都备份了,我可以重新建立一个文件,我知道我有,并且像5个月前那样无情地看到我的备份 – 就是这样 – 但是大事它同步到2个不同的地方 – 布里斯班和悉尼 – 所以我知道一切安全 – 他们甚至给我发送一个外部备份金库/服务器存储的一切。 花费一点点,但是业务是来自其他大多数人的数据。

无论如何只是想指出你应该有一个很棒的备份系统,所以你不用担心这些事情开始。

我认为这是一个非常合理的做法,每晚登记入住。 有时我每天检查3到4次,有时候是20次(实际上每次我的代码都在工作)。

如果您的代码始终处于检入状态,那么您应该可以轻松地同步到不同的分支,而不需要备份任何东西。

如果您在一天结束时无法检查您的更改,则非常合理的答案是放弃这些更改。 你很可能在某个洞里面,你将无法自拔,第二天你会在一个小时内复制这个作品,并且比第一次做得更好。 而且,如果你用破碎的代码去那么久,你怎么测试?

最后,如果你的代码真的不能每天检查到构建(实际上确实发生在某些情况下,不管我在前面的段落中说过什么),分支。

没有更多的备份。

我用:

ZenOK 在线备份我的文档和小文件(照片,视频和大文件)

爱它。