コンテンツにスキップ
Dotweave Dotweave v0.39.7

同期モード

normal、secret、ignoreの3つのモードの違いと使い方。

トラッキングされたすべてのエントリには同期モードがあり、pushやpull時のdotweaveの動作を制御します。normalsecretignoreの3つのモードがあります。


モードsyncディレクトリに保存暗号化push/pullで同期
normalはいなしはい
secretはい(.ageサフィックス付き)はい(age)はい
ignoreいいえいいえ

ファイルはそのままsyncディレクトリにコピーされます。変換も暗号化もなし — 見たままがそのまま保存されます。

dotweave track ~/.gitconfig
dotweave track ~/.config/starship.toml
dotweave track ~/.config/nvim

こんなファイルに最適: シェル設定(.zshrc.bashrc)、エディタ設定、Git config、.tmux.confstarship.tomlのようなツール設定 — 基本的にシークレットを含まないものすべて。


ファイルはsyncディレクトリに保存される前にageで暗号化されます。保存されたファイルには.ageサフィックスが付きます。

dotweave track ~/.ssh/config --mode secret
dotweave track ~/.config/gh/hosts.yml --mode secret
dotweave track ~/.aws/credentials --mode secret

こんなファイルに最適: SSHキーと設定、APIトークン、本番のクレデンシャルを含む.envファイル、GPGキー — リポジトリが公開された場合に露出させたくないもの。

pull時に、dotweaveはageプライベートキーでファイルを復号してからディスクに書き込みます。セットアップの詳細はシークレットファイルの同期をご覧ください。


エントリはmanifest.jsoncに残りますが、pushやpull時には完全にスキップされます。何も読み書きされず、転送もされません。

dotweave track ~/.config/some-tool/cache --mode ignore
dotweave track ~/.local/share/generated-config --mode ignore

こんな場面に最適:

  • 設定ファイルからエントリを削除せずに一時的に無効化したい場合
  • 別のプラットフォームでは同期すべきでないOS固有のファイル
  • 記録しておきたいが複製はしたくないマシン固有の設定

dotweave trackを新しい--modeフラグ付きで再度実行すると、既存のエントリが更新されます:

# 元々normalでトラッキング
dotweave track ~/.ssh/config
# secretにアップグレード
dotweave track ~/.ssh/config --mode secret

エントリごとのオーバーライド

Section titled “エントリごとのオーバーライド”

トラッキング中のディレクトリ内でモードを混在させることができます。例えば、ディレクトリをnormalでトラッキングしつつ、特定のファイルだけsecretにオーバーライドできます:

dotweave track ~/.config/my-tool
dotweave track ~/.config/my-tool/credentials.json --mode secret

ディレクトリは通常通り同期されますが、その中のcredentials.jsonは暗号化されます。子エントリは常に親エントリより優先されます。