我经常发现自己正在处理过时版本的文档,因为我之前在 MacBook 上编辑过它,而现在我在 Mac Pro 上编辑。
我正在寻找一种工具来帮助我尽可能无缝地同步。我还有一个 Debian 服务器。
目前,我在两台 Mac 上都有一个 rsync 脚本,用于与 Debian 服务器上的文件夹同步。我尝试每次切换机器时都要执行,但我经常会忘记它,有时如果我忘记了,然后从服务器提取数据,我的数据就会丢失。总而言之,这是一个繁琐的解决方案。
有什么替代方案?我希望有一个工具可以帮助我实现自动化。最好是具有版本控制的工具。我考虑过在 Debian 上设置一个 Git 服务器,但我不知道这是否是最好的解决方案。我现在需要同步的数据量大约为 2GB。
答案1
如果你想处理大型存储库和包括二进制文件的版本控制,我不推荐使用 git,但是水银的。
但是您必须编写自己的 cronjobs 来进行提交和推送。
齐奏(Michele Marcionelli 提到)是一款非常棒的双向同步工具,尤其是通过 ssh 进行同步。它有一个批处理模式,不会询问问题,因此可以自动解决冲突,但我不建议这样做,因为手动解决冲突在 gui 下效果非常好。如果您想使用 unison 进行版本控制,您可以在通过 unison 同步的目录中创建一个 git 或 mercurial 存储库。
使用 unison,您可以使用自己的服务器或直接在设备之间进行集中同步。一年来,我一直在三台设备上使用它来处理普通文件和几个 git 存储库,它非常可靠。(与 ownCloud 或 SparkleShare 相比)
PS:关于 SparkleShare:千万不要考虑使用它。它几乎总是无法解决冲突,不能很好地处理二进制文件,在具有大型存储库的低 RAM 环境中会耗尽内存并崩溃,并且会随机使用 100% 的 CPU,直到手动解决与底层 git 存储库的冲突。
答案2
我在用着齐奏多年以来它一直运行良好:它是一个具有 GUI 和 CLI 的双向文件同步器。
答案3
我认为git
这是一个不错的选择。如果你可以从多个位置进行编辑,并且仍然拥有最新版本。如果你需要回滚一个版本,版本控制是一个额外的好处。
一旦您有了 repo 的克隆,则当您下载时仅会下载更新的部分git pull
,因此与某些选项相比,这可以节省时间/带宽。
话虽如此,是适用于 Linux 的 dropbox 和自滚式 drop boxes。
答案4
这对我来说就是 Dropbox 或 Google Docs。如果你不喜欢在 Google Servers 上保存数据,可以使用同步服务,例如OwnCloud使用您自己的服务器。