使.org文件在多台计算机上保持同步


35

如何在多台计算机上,也许在多个平台(linux / windows)上使.org文件保持最新状态?

例如,我可以将所有.org文件保留在git中,但这需要我记住拉动并推送以使存储库保持更新。可以使用一些脚本来自动处理文件,因为我没有那么多脚本。

我也可以尝试使用保管箱。我假设Dropbox经常同步文件而不会引起问题。

组织模式是否提供任何功能来帮助跨多个位置同步文件?



Dropbox会在文件写入后立即对其进行同步。在内部,我相信Dropbox使用Python脚本来监视目录。
肖恩·艾瑞德

如果安全/隐私是一个问题,SpiderOak也很棒。
2014年

orgmode.org/worg/org-contrib/gsoc2012/student-projects/... / orgmode.org/worg/org-contrib/gsoc2012/student-projects/...提到的组织文件的git合并驱动程序,但我找不到有关如何使用它的任何信息(如果完成)
unhammer

这是一个如何rsync通过Emacs 同步不同计算机上的文件夹的示例: emacs.stackexchange.com/a/5844/2287
律师名单

Answers:


10

我使用git-annex助手在我的计算机甚至手机之间同步org文件(一个jolla,因此linux二进制文件可以直接使用,但是也有一个android版本)。

它就像Dropbox一样工作,因为只要您保存文件,它都会尝试同步它,但它是分散的和免费的(例如免费语音和免费啤酒)。

如果您了解git,则设置很简单,但是您需要一些时间来熟悉所有选项。

您可以在http://git-annex.branchable.com上找到更多信息


如果我错了,请指正我,但是git-annex助手是一个可怕的选择。它不检查文本文件中的更改。它还会在每次同步时将文件设置为“只读”。
JasoonS

7

组织文件只是纯文本文件,因此能够同步纯文本文件的任何技术都可以与组织文件一起正常工作。

我最喜欢的同步工具是Unison。使用正确的配置文件,我输入

unison org

然后Unison将比较~/org/两台机器上我目录中的文件,让我以交互方式查看其动作,然后复制需要复制的文件,并为需要合并的文件调用外部合并工具。


配置文件详细信息?我在emacs中进行合并的尝试不断失败
ijoseph

4

组织模式本身不提供任何同步功能。您将不得不依靠像Dropbox这样的单独应用程序来同步文件。Dropbox不仅会同步,而且会在文件更改时立即同步,因此,除非您更改文件并立即关闭计算机,否则您将保持文件同步。


4

我个人有这个问题,一直在使用copy而不是Dropbox来同步我的文件。(由于隐私问题,我不使用Dropbox)。就像Dropbox一样,Copy为所有主要平台提供客户。

有时我忘记保存组织缓冲区,因此,每当我保存一些组织文件时,我都会破解以下函数来保存所有组织文件。这不是一个很好的解决方案,但是它可以达到我的目的。

(add-hook 'after-save-hook 'org-save-all-org-buffers)

另外,如果您将敏感数据保存在组织文件中,建议您浏览此页面。我使用的是org-crypt,这很棒。


2

我使用Git来同步我的组织模式文件。我有一个Bash脚本让它在后台运行,该脚本每分钟自动提交一次文件(默认情况下),然后根据需要推送或拉取。

伪代码版本:

  1. 提交本地更改并更新遥控器。
  2. 使用查找本地提交git rev-parse @
  3. 使用查找远程提交git rev-parse @{u}
  4. 寻找基地 git merge-base @ @{u}
  5. 如果本地提交等于远程提交,那么我们就完成了;一切都是最新的。
  6. 如果本地提交等于基本,则远程具有额外的提交,所以也是如此git pull
  7. 如果远程提交等于基本,则本地具有额外的提交,所以也是如此git push
  8. 否则,本地和远程都有额外的提交。我的脚本尝试使用(git pull)自动解决此问题,但如果无法解决,则会发出铃声并退出,以供用户手动修复。

这8个步骤是循环运行的,直到我用手动退出C-c或出现错误时才会停止。

我在Windows上使用Cygwin使用此脚本。


2

我使用Dropbox .org而不是来同步我的主要文件rsyncgit因为使用Dropbox还可以使用MobileOrg.org从智能手机查看文件。

对我来说,这很容易,而且做得很棒。


2

正如其他人所说的那样,组织模式对此本身并没有做任何事情(也不应该这样做)。因此,基本上这是找到您喜欢的文件同步解决方案的问题。

我使用Dropbox。它在我的三个平台(macOS,台式机Linux,Android)上都能轻松运行。另外,我使用的移动Org客户端Orgzly开箱即用地支持它。


1

我目前正在使用btsync,但是周围有几种开放的(而且比较麻烦的)替代方案。它基本上会监视目录,并在所有其他正在运行的设备联机后将其同步。可以说没有云的保管箱。由于它使用分布式哈希表,因此torrent协议防火墙也不是问题,并且也有移动客户端。并传输加密的所有内容。


0

Dropbox(或者我猜是其他任何云存储)是必经之路。另外,这确实很方便~/.emacs.dmklink在Windows 中使用)同步Emacs设置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.