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

ファイルのトラッキング

ファイルやディレクトリを同期対象として登録する方法。

dotweaveで何かを同期するには、まずトラッキングする必要があります。トラッキングとは、「このファイルを管理したい」とdotweaveに伝えることで、manifest.jsoncにエントリが追加されます。ファイルのコピーやpushは、dotweave pushを実行するまで行われません。


dotweave trackにファイルパスを渡します:

dotweave track ~/.gitconfig
dotweave track ~/.zshrc

これによりmanifest.jsoncにエントリが追加されるだけです。ファイル自体はそのまま残ります。実際にsyncディレクトリにコピーするには、別途dotweave pushを実行してください。


ディレクトリをトラッキングする

Section titled “ディレクトリをトラッキングする”

ディレクトリ全体をトラッキングすることもできます。pushやpull時に、その中のすべてのファイルが再帰的に含まれます。

dotweave track ~/.config/nvim
dotweave track ~/.config/fish

デフォルトでは、トラッキングされたエントリはnormalモードです。--modeで変更できます:

dotweave track ~/.ssh/config --mode secret
dotweave track ~/.local/share/cache-stuff --mode ignore

各モードの詳細は同期モードをご覧ください。


特定のプロファイルに限定する

Section titled “特定のプロファイルに限定する”

--profilesを使って、エントリを1つまたは複数のプロファイルに割り当てます。アクティブなプロファイルが一致するマシンだけがそのエントリを同期します。

dotweave track ~/.config/work-tool --profiles work
dotweave track ~/.config/shared-tool --profiles work,personal

--profilesを付けないエントリはdefaultプロファイルに入り、すべてのマシンで同期されます。詳しくはプロファイルをご覧ください。


リポジトリパスのカスタマイズ

Section titled “リポジトリパスのカスタマイズ”

デフォルトでは、dotweaveはホームディレクトリからの相対パスをsyncディレクトリ内にミラーリングします。リポジトリ内で別のパスを使いたい場合は、--repoPathを指定します:

dotweave track ~/Projects/scripts/deploy.sh --repoPath scripts/deploy.sh

ホワイトリスト方式 — 同期したい特定のファイルだけをトラッキング:

dotweave track ~/.gitconfig
dotweave track ~/.zshrc
dotweave track ~/.config/starship.toml
dotweave push

ブラックリスト方式 — ディレクトリ全体をトラッキングし、特定のファイルをignore:

dotweave track ~/.config/nvim
dotweave track ~/.config/nvim/plugin/packer_compiled.lua --mode ignore
dotweave push

気が変わった場合は、dotweave untrackでエントリを削除できます:

dotweave untrack ~/.gitconfig

これはmanifest.jsoncからエントリを削除するだけです。ローカルファイルやsyncディレクトリ内の既存のコピーは削除されません


dotweave statusで、すべてのトラッキングエントリと現在の状態を確認できます:

dotweave status

--dry-runを付けると、変更を適用せずにプレビューできます:

dotweave push --dry-run
dotweave pull --dry-run