複数のコンピューター間で.orgファイルの同期を維持する


35

複数のコンピューター、おそらく複数のプラットフォーム(linux / windows)で.orgファイルを最新の状態に保つにはどうすればよいですか?

たとえば、すべての.orgファイルをgitに保持することもできますが、そのためには、リポジトリを最新の状態に保つためにプルしてプッシュすることを忘れないでください。私はそれほど多くないので、いくつかのスクリプトを使用してファイルを自動的に処理できます。

私もこのためにドロップボックスを使用してみてください。Dropboxは問題を起こさないように十分な頻度でファイルを同期すると思います。

組織モードには、複数の場所でファイルを同期するのに役立つ機能がありますか?


1
これは役立ちますか?...あなたの組織を置く
ルーク

Dropboxは、ファイルが書き込まれるとすぐにファイルを同期します。内部的には、DropboxはPythonスクリプトを使用してディレクトリを監視していると思います。
ショーン

セキュリティ/プライバシーが問題である場合、SpiderOakも非常に優れています。
ジョン14年

orgmode.org/worg/org-contrib/gsoc2012/student-projects/... / orgmode.org/worg/org-contrib/gsoc2012/student-projects/... ORG-ファイルのgitのマージドライバーに言及したが、私は見つけることができません使用方法に関する情報(終了した場合)
アンハンマー

rsyncEmacs を使用してさまざまなマシン上のフォルダーを同期する方法の例を次に示します。emacs.stackexchange.com
5844

回答:


10

私はgit-annexアシスタントを使用して、組織ファイルをコンピューターと電話の間で同期します(Linuxバイナリーはそのままで動作しますが、Androidバージョンもあります)。

Dropboxのように機能します。ファイルを保存するたびに同期を試みますが、分散型で無料です(言論の自由やビールのように)。

gitを知っていればセットアップは簡単ですが、すべてのオプションに慣れるのに時間が必要です。

あなたはhttp://git-annex.branchable.comで詳細を見つけることができます


間違っている場合は修正してください。しかし、git-annexアシスタントは恐ろしい選択です。テキストファイル内の変更をチェックしません。また、同期するたびにファイルを「読み取り専用」に設定します。
JasoonS

7

Orgファイルは単なるプレーンテキストファイルであるため、プレーンテキストファイルを同期できる技術はすべてorgファイルで正常に機能します。

私のお気に入りの同期ツールはUnisonです。適切な構成ファイルを使用して、次のように入力します

unison org

Unisonは~/org/両方のマシンのディレクトリ内のファイルを比較し、そのアクションをインタラクティブに確認し、コピーする必要があるファイルをコピーして、マージする必要があるファイルの外部マージツールを呼び出します。


構成ファイルの詳細?emacsにマージしようとする試みが失敗し続ける
ijoseph

4

組織モードでは、同期機能自体は提供されません。ファイルを同期するには、Dropboxなどの別のアプリケーションに依存する必要があります。Dropboxは頻繁に同期するだけでなく、ファイルが変更されるとすぐに同期するため、ファイルを変更してすぐにコンピューターをシャットダウンしない限り、ファイルの同期は維持されます。


4

私は個人的にこの問題を抱えており、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を使用すると、スマートフォンからファイルを表示するためにMobileOrgを使用することもできるため、Dropboxを使用してメイン.orgファイルを同期します。rsyncgit.org

私にとってこれは非常に簡単で、素晴らしい仕事をします。


2

他の人が言ったように、Orgモードはこれ自体には何もしません(そうすべきではありません)。したがって、基本的には好みのファイル同期ソリューションを見つけるだけです。

Dropboxを使用します。私の3つのプラットフォーム(macOS、デスクトップLinux、Android)で簡単に機能します。また、私が使用するモバイルOrgクライアントOrgzlyは、すぐに使用できるようにサポートしています。


1

私は現在を使用btsyncしていますが、いくつかのオープンな(そしてより面倒な)代替手段があります。基本的にディレクトリを監視し、他のすべての実行中のデバイスがオンラインになるとすぐに同期します。いわば、クラウドのないDropbox。分散ハッシュテーブルを使用し、トレントプロトコルファイアウォールも問題ではないため、モバイルクライアントもあります。そして、暗号化されたすべてを転送します。


0

Dropbox(または私が推測する他のクラウドストレージ)を使用する方法です。さらに、これはEmacsのセットアップを同期するのに非常に便利です~/.emacs.dmklinkWindowsで使用)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.