첫 동기화 설정
sync 디렉터리를 초기화하고 첫 파일을 추적한 뒤 push하고, git으로 저장소를 게시해요.
아무것도 없는 상태에서 게시된 sync 저장소까지 진행해요. 끝까지 따라가면 추적 중인 설정 파일이 git 저장소로 미러링되고, 다른 기기에서 clone할 수 있어요. dotweave CLI가 설치되어 있고 PATH에 git이 있어야 해요.
1. sync 디렉터리 초기화
dotweave init
· Initializing sync directory...
✔ Sync directory initialized
git: initialized new repository
age: generated a new local identity
0 entries · 1 recipients
dotweave 홈 디렉터리 아래에 git 저장소를 만들고, 시크릿 암호화에 쓸 age identity를 keys.txt에 생성해요.
2. 첫 파일 추적
추적은 경로를 manifest.jsonc에 등록하는 일이에요. 아직 복사되는 건 없어요.
dotweave track ~/.gitconfig
dotweave track ~/.config/nvim
✔ Started tracking .gitconfig
kind file
path /home/you/.gitconfig
repo .gitconfig
mode normal
인증 정보가 들어 있는 파일에는 --mode secret을 붙이세요. 저장소에 닿기 전에 내용이 암호화돼요.
dotweave track ~/.ssh/config --mode secret --permission 0600
3. sync 디렉터리로 push
무슨 일이 일어날지 먼저 확인하고 나서 적용하세요.
dotweave status
dotweave push
· Pushing changes...
✔ Push complete
plain: 2
encrypted: 1
symlinks: 0
dirs: 1
0 stale artifacts removed
4. git으로 게시
push는 파일만 썼어요. 커밋과 게시는 직접 실행하는 별개의 단계예요.
dotweave cd
git add -A && git commit -m "Initial sync"
git remote add origin <your-repo-url>
git push -u origin main
exit
dotweave cd는 sync 디렉터리를 루트로 하는 자식 셸을 열어요. exit을 입력하면 원래 있던 곳으로 돌아와요.
지금 dotweave 홈 디렉터리의 keys.txt를 안전한 곳에 백업하세요. 이 파일은 커밋되지도, 동기화되지도 않아요. 이게 없으면 다른 기기에서 암호화된 파일을 읽을 수 없어요.
결과 확인
dotweave status를 다시 실행하세요. 양방향 모두 깨끗해야 해요.
· Checking sync status...
~ Sync status — 3 entries, 1 recipients, profile: default
Push changes (repository)
No push changes
Pull changes (local)
No pull changes
status에 여전히 push 변경이 나온다면 dotweave push를 다시 실행하고 보고 내용을 읽어 보세요. 추적 경로가 없어졌다면 dotweave doctor가 어떤 경로인지 알려 줘요.
이 설정을 다른 곳에서 복원하려면 두 번째 기기 설정으로 넘어가고, push가 무엇을 썼는지 보려면 디렉터리와 저장소 구조를 확인하세요.