매일 쓰는 push와 커밋 흐름
로컬에서 편집하고, status로 확인하고, push를 미리 보고, git으로 커밋하는 반복 흐름을 안내해요.
처음 설정을 마친 뒤에 기기를 동기 상태로 유지하는 일은 짧은 반복 흐름 하나예요. 설정 파일을 원래 자리에서 편집하고, 변경을 sync 디렉터리에 미러링하고, git으로 게시하면 끝이에요. 이 가이드는 기기 한 대에서의 그 흐름을 다루고, git이 맡는 지점에서 마무리해요. sync 디렉터리가 이미 초기화되어 있고 추적 경로가 하나 이상 있다고 전제해요.
1. 무엇이 바뀌었는지 확인
설정 파일은 홈 디렉터리 아래 원래 위치에서 그대로 편집하세요. 작업하는 동안에는 아무것도 미러링되지 않으니 지켜야 할 순서도, 먼저 실행할 명령도 없어요.
편집을 마쳤다면 지금 상태가 무엇을 뜻하는지 확인하세요. dotweave status는 아무것도 쓰지 않고 양방향을 모두 보여주기 때문에 안심하고 들여다볼 수 있어요.
dotweave status
한동안 쓰지 않은 기기에서는 편집을 시작하기 전에 sync 디렉터리에서 git pull을 실행하고 이어서 dotweave pull을 실행하세요. 그래야 다른 기기가 게시한 내용 위에서 작업하게 돼요. 이 상황은 여러 기기에서 함께 쓰기에서 다뤄요.
2. push 미리보기
--dry-run은 같은 계획을 만들어 같은 숫자를 출력하지만 아무것도 쓰지 않아요. 많은 파일을 건드렸을 때나 status 결과가 예상과 달랐을 때 쓰세요.
dotweave push --dry-run
· Pushing changes...
~ Push preview (dry run)
plain: 2
encrypted: 1
symlinks: 0
dirs: 1
0 stale artifacts would be removed
3. push하고 커밋하기
플래그를 빼면 계획이 적용돼요. push는 sync 디렉터리 아래의 artifact를 다시 쓰고 로컬 파일은 건드리지 않아요.
dotweave push
· Pushing changes...
✔ Push complete
plain: 2
encrypted: 1
symlinks: 0
dirs: 1
0 stale artifacts removed
dotweave는 git을 대신 실행하지 않아서 게시는 직접 하는 단계예요. dotweave cd는 sync 디렉터리를 루트로 하는 자식 셸을 열어요. exit을 입력하면 셸이 닫히고 원래 있던 자리로 돌아와요.
dotweave cd
git add -A
git commit -m "Update config"
git push
exit
결과 확인
dotweave status를 다시 실행하세요. 흐름이 제대로 끝났다면 artifact가 로컬 파일과 일치하니 No push changes가 나와요.
· Checking sync status...
~ Sync status — 3 entries, 1 recipients, profile: default
Push changes (repository)
No push changes
Pull changes (local)
No pull changes
이어서 git 쪽도 확인하세요. sync 디렉터리에서 git status를 실행하면 깨끗해야 해요. 변경된 파일이 여전히 보이면 push는 됐지만 커밋이 남아 있다는 뜻이니 3단계부터 다시 이어 가세요.
이 흐름에 쓰는 플래그는 dotweave push에서, 흐름이 무엇을 쓸지 결정하는 스냅숏 비교는 동기화가 작동하는 방식에서 확인하세요.