dotweave init
同期ディレクトリを作成または clone し、age identity を用意します。
使い方
dotweave init [--force] [--key-file <path>] [<repository>]
dotweave ホームディレクトリの下に同期ディレクトリを作成または接続し、以降の push と pull が読む設定を記録します。
引数
| 引数 | 型と既定値 | 用途 |
|---|---|---|
repository | string、任意 | clone するリモート URL またはローカル git リポジトリのパスです。省略すると空のローカルリポジトリを初期化します。 |
フラグ
| フラグ | 型と既定値 | 用途 |
|---|---|---|
--force | boolean、false | 初期化の前に、既存の同期ディレクトリ、identity ファイル、設定を削除します。 |
--key-file | string、なし | プロンプトで入力する代わりに、ファイルから age 秘密鍵を読み取ります。 |
動作
repository 引数がない場合は、同期ディレクトリで git init -b main を実行します。ある場合は git clone を実行します。すでに存在して空でないディレクトリの初期化は拒否します。
続いてリポジトリの基本構成を書き込みます。* -text を含む .gitattributes、暗号化された artifact をコミット可能に保つ管理 .gitignore ブロック、そしてバージョン 9、repositoryFormat 1、項目なし、recipient 1 件の manifest.jsonc です。
age identity は、--key-file が指定されていればその値を使い、keys.txt がすでにあれば再利用し、どちらもなければ新しい identity を生成します。recipient がすでにあるリポジトリを clone して鍵を渡さなかった場合は、対話型ターミナルで秘密鍵を尋ね、尋ねられない場合はそのまま失敗します。
dotweave init
· Initializing sync directory...
✔ Sync directory initialized
git: initialized new repository
age: generated a new local identity
0 entries · 1 recipients
init は git のリモート追加、コミット、push のいずれも行いません。それらは dotweave cd と git で行ってください。
--force は keys.txt を削除します。その identity だけで暗号化されたシークレット artifact は復元できなくなります。このフラグを使う前に鍵をバックアップしてください。
エラー
init は、ディレクトリがすでに初期化されている場合、存在して空でない場合、git がないか clone 元に到達できない場合、clone したリポジトリが必要とする age 鍵を渡していない場合に失敗します。各メッセージと対処はエラーメッセージの初期化の節を参照してください。
関連コマンド
初回セットアップの全体は最初の同期を設定する、リポジトリがすでにある場合は2 台目のデバイスを設定するを参照してください。