我认为这个问题非常有趣,在工作场所不断变化以及更多移动和云计算的时代,它会获得更大的动力。所以我尝试评论一些问题,并指出哪种解决方案在哪种情况下更好。
外部驱动器
外部驱动器(如 USB 记忆棒或真正的驱动器)允许您存储数据和便携式应用程序(如 eclipse 之一)以存储在介质上并随身携带。每次,您都想处理您的项目,但在不同的计算机上,您可能会使用该外部驱动器。
- 要解决的问题
- 驱动器的格式必须由所有机器读写。这可能取决于您必须使用的操作系统。
- 好处
- 便于使用
- 很好地扩展
- 独立于网络访问
- 允许运输甚至未准备好的工作
- 缺点
- 访问速度:大部分时间会较慢
- 安全?
- 数据丢失:您必须想办法确保不会丢失任何东西,或者至少不会丢失太多
网络存储
您将拥有的所有信息存储在“云中”,如 Dropbox、Ubuntu One 等解决方案……请想到这里。
- 要解决的问题
- 您是否一直有网络访问权限?如果没有,这是一个展示停止。
- 优势
- 易于使用(也许不需要设置)
- 自动工作
- 允许运输甚至未准备好的工作
- 缺点
- 扩展性不如外部驱动器。网络速度通常比外部驱动器的速度慢得多
- 如果它是自动工作的,那么您不确定何时传输每个字节。可能存在某些更改未传输的情况,这将导致返工。
虚拟盒子
...或其他虚拟化解决方案。这必须与外部驱动器或网络解决方案结合使用。它为您提供了额外的选择,但随之而来的是额外的复杂性。
- 好处
- 缺点
- 虚拟文件很大,因此使用网络可能是一种负担。
- 即使在外部驱动器上,您也会看到性能不如单独的外部驱动器。
存储库
这也与其他解决方案正交。回购可以在本地存在,也可以在网络中。
- 好处
- 你不会失去工作。
- 设置是相当标准的,开始工作(至少使用 Git 或 Mercurial)是轻而易举的事。
- 缺点
- 您的开发过程更加困难,因为您必须记住提交您的工作。它变得更糟:
- 你的一些提交是正常的,因为你已经完成了手头的任务,并想为其他人提供。
- 但是,如果您使用存储库(在网络中)来传输东西,那么您甚至必须提交和推送您正在进行的工作,这会污染您的存储库,然后供其他人使用。
推荐
我会使用外部驱动器,看看我必须在那里解决哪些问题。eclipse的启动时间可能会慢一些,但之后的差异应该不会那么大。通过使用快速的外部驱动器(如带有 USB 3.0 的 SSD),这应该是易于管理的。您应该使用存储库,但不能传输您的工作,而只能对您的工作进行版本化并与他人共享。
如果您使用该解决方案添加您的问题,我们可以解决这些问题...... PS:对不起,答案很长,但这个话题对我来说也很有趣。