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

时间:2008-12-05 15:54:14

标签: windows version-control backup

我在办公室里被称为“备用人”。作为一名开发人员,我经常在项目之间来回跳转,因此我并不总是记得当我回到他们时,每个项目中确实存在哪些变化。我通常需要比较我的本地更改与源代码控制系统中的更改,然后我最终会记住这一切。事实上,我并不总是有这样做的奢侈。有时我必须快速为客户端构建一些东西,所以我备份工作目录,这样我就可以从源代码控制中获取最新文件,并快速构建DLL - 同时知道另一个(在 - 进步)变化是安全的。

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

例如:如果我在Windows资源管理器中选择了几个文件夹,我想拥有自己的上下文菜单项来触发我自己的备份应用程序。此应用程序将提示我输入备份名称和说明。然后,它会将选定的文件夹移动到特定的集中式备份目录 - 它还会生成'readme.txt'文件,概述备份详细信息。此外,备份也将按日期/时间进行组织。我觉得这会改进我的备份程序,并便于将来查找。

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

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

我知道this post,但与我想要的完全一致。我宁愿将备份保存在同一台机器上 - 我会自己将它们移到其他机器上。

更新

澄清一下:如果我正在处理任务A,突然之间我需要为客户端构建一些东西(任务B),我必须备份我到目前为止的任务A,并从源代码控制中获取最新信息。工作目录。然后我开始并完成任务B,然后恢复任务A.这是一个理想,整洁的场景。但有时候,我只会在一周内回到任务A,或者进一步 - 因为我遇到了任务C,任务D等等 - 所有这些都影响到同一个项目。现在,如果计划检查这些更改,那么随着我的进展,我可能会受益于检查它们(但说实话,我们通常会等到它完成之后再检查它,在这家公司 - 这意味着更少检查未完成的代码)。所以我不确定我的每个备份是否应该等于分支 - 因为我的备份有时会过多。

9 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:6)

首先,您现有的源代码管理系统可能已经以分支的形式支持这一点。而不是仅仅复制工作目录,将其作为单独的分支提交,您可以在该分支中保留该客户端的应用程序版本。

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

答案 2 :(得分:3)

使用Subversion

TortoiseSVN将为您提供此功能。概念是不同的(修订,而不是“备份名称”)。您提到的readme.txt在Subversion日志中进行了总结。您提供的任何评论都可用于指导其他人查看修订版。查看Wikipedia page on Subversion以及homepage以下载TortoiseSVN

答案 3 :(得分:1)

CloneZilla,备份整个硬盘分区,免费且可靠。我使用它代替Acronis Echo Server,它可以在8分钟内恢复整个系统。

答案 4 :(得分:1)

正如skiphoppy所说,DSVN可以提供帮助。 Git提供了搁置您正在处理的东西的能力,以便您的工作副本干净,但是当您完成时,您可以将当前的工作集从架子上拉下来。这看起来就像你真正想要的那样。

如果您使用的是Perforce,那么也有一些基于tar的实用程序可以执行此操作,但我还没有使用它们。

答案 5 :(得分:1)

如何改变你的工作方式,听起来总有一天,如果你按原样继续进行,事情会发生变化。足够公平,需要在更改过程中构建一个dll,并且必须备份正在进行的工作,但是一旦完成发布,就会立即将更改与发布版本重新集成。我永远不会让自己拥有同一个应用程序的多个备份,但是,嘿,那只是我。

答案 6 :(得分:1)

我使用混合备份www.hybridbackup.com.au - 总部设在澳大利亚,他们是我能说话的唯一真正的人可以处理我想要的东西 - 我没有dll问题我有超过1000个文件,每天都在变化任何inmy办公室做任何事情 - 我有超过250GB的实时数据我需要每晚备份我做过的每一次改变 - 永远 - 基本上我可以相当懒惰并复制文件到处并复制目录以确保每一件事再次备份,但知道每天我改变的东西(包括我的目录备份)都备份了,我可以记住我知道的文件并看到我的备份,因为他们是5个月前 - 就是这样 - 但是大事情是同步到两个不同的地方 - 布里斯班和悉尼 - 所以我知道一切安全 - 他们甚至给我发送了一个外部备用金库/服务器来存储一切。花费一点但是商业数据来自im并且我确信大多数其他人。

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

答案 7 :(得分:0)

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

如果您的代码始终已签入,则您应该可以轻松地同步到其他分支,而无需备份任何内容。

如果你不能在一天结束时检查你的更改,一个非常合理的答案就是丢弃它们。你最有可能在一个洞里,你将无法挖掘自己,第二天你将在一小时内复制工作,并比第一次做得更好。另外,如果你用破损的代码去那么久,你如何测试?

最后,如果您的代码每天都无法检入构建中(实际上在某些情况下确实发生了,无论我在上一段中说过什么),分支。

不再备份。

答案 8 :(得分:-2)

我用:

ZenOK Online Backup用于我的文档和小文件(照片,视频和大文件)

喜欢它。