콘텐츠로 이동
Dotweave Dotweave v0.48.0

동기화 모드

normal, secret, ignore 세 가지 모드의 차이와 사용법을 알아보세요.

모든 추적 항목에는 동기화 모드가 있어요. push와 pull 때 dotweave가 해당 항목을 어떻게 처리할지를 결정해요. normal, secret, ignore 세 가지 모드 중에서 선택할 수 있어요.


| 모드 | 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에 남아 있지만, 로컬 스냅샷과 pull 때 건너뛰어요. 그 항목에 대해서는 홈 디렉터리에서 읽거나 쓰지 않아요.

push/status 때는 ignored 항목이 단독으로 소유하는 기존 저장소 artifact를 정리해요. ignore가 플랫폼별 override일 뿐이고 다른 플랫폼이 같은 repo path를 normal이나 secret으로 계속 소유한다면 그 artifact는 보존돼요.

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

추적된 디렉터리 안에서 모드를 섞어서 사용할 수 있어요. 예를 들어, 디렉터리는 normal로 추적하되 특정 하위 파일만 secret으로 지정할 수 있어요:

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

디렉터리는 평소대로 동기화되지만, 그 안의 credentials.json은 암호화돼요. 하위 항목이 항상 상위 항목보다 우선해요.