我很想知道人们有什么策略来保持他们的代码和工作版本在多台机器上.例如,我有一台运行XP的台式机,运行OSX的Macbook和运行XP的VMWare以及用于运行产品演示的销售笔记本电脑.我想知道如何始终保持这些同步.Subversion是这种可能性,但我发现它对处理二进制文件没那么有用 - 也许我在这里忽略了一些东西.其他人使用什么,因为他们必须有类似的问题?他们是将所有文件保存在USB驱动器上,而不是在本地文件系统上.我并不总是在线,所以远程存储不是一个真正的选择.
我在办公室里被称为"备用人".作为一名开发人员,我经常在项目之间来回跳转,因此我并不总是记得当我回到他们时,每个项目中确实存在哪些变化.我通常需要比较我的本地更改与源代码控制系统中的更改,然后我最终会记住这一切.事实上,我并不总是有这样做的奢侈.有时我必须快速为客户端构建一些东西,所以我备份工作目录,这样我就可以从源代码控制中获取最新文件,并快速构建DLL - 同时知道另一个(在 - 进步)变化是安全的.
问题是我现在已经在每个项目目录中累积了一堆备份文件夹,这使我更难找到我正在寻找的具体更改.虽然我的做法已经发展到我总是花时间为每个备份文件夹提供一个信息丰富的名称,但我开始认为我最好不要编写自己的工具.
例如:如果我在Windows资源管理器中选择几个文件夹,我想拥有自己的上下文菜单项来触发我自己的备份应用程序.此应用程序将提示我输入备份名称和说明.然后,它会将选定的文件夹移动到特定的集中式备份目录 - 它还会生成'readme.txt'文件,概述备份详细信息.此外,备份也将按日期/时间进行组织.我觉得这会改进我的备份程序,并促进未来的查找.
但是,我不禁想知道这些工具是否已经存在.当然,在备份方面,有人必须像我一样痴迷.
您知道有哪些工具可以帮助我改进备份吗?
我知道这篇文章,但并不完全符合我的要求.我宁愿将备份保存在同一台机器上 - 我会自己将它们移到其他机器上.
更新
澄清一下:如果我正在处理任务A,突然间我需要为客户端构建一些东西(任务B),我必须备份我到目前为止的任务A,并从源代码控制中获取最新的工作目录.然后我开始并完成任务B,然后恢复任务A.这是一个理想,整洁的场景.但有时候,我只会在一周内回到任务A,或者进一步 - 因为我遇到了任务C,任务D等等 - 所有这些都会影响到同一个项目.现在,如果计划检查这些更改,那么随着我的进展,我可能会受益于检查它们(但说实话,我们通常会等到它完成之后再检查它,在这家公司 - 这意味着更少检查未完成的代码).所以我不确定我的每个备份是否应该等于分支 - 因为我的备份有时会过多.