동기화와 충돌
여러 컴퓨터에서 고쳤을 때 aisync가 무엇을 지키고 무엇을 묻는지 설명합니다.
기본 흐름
aisync push default # 이 컴퓨터에서 고친 것을 올립니다
aisync diff default # 받으면 무엇이 바뀌는지 봅니다
aisync pull default # 리포의 최신 내용을 받습니다
다른 사람이 먼저 올렸을 때
리포에 새 커밋이 있어도 그 커밋이 이 프로필을 건드리지 않았다면 그대로 그 위에 올립니다. 다른 프로필을 고쳤거나 토큰만 바꾼 커밋 때문에 막히지 않습니다.
이 프로필이 리포에서 바뀌었다면 먼저 받으라고 합니다.
error: profile default changed in the repo since your last pull.
aisync pull default gets it; your local edits stay unless the same file changed on both sides
받을 때 내 수정은 지켜집니다
받기를 할 때 파일마다 상태를 봅니다.
| 상태 | 이 컴퓨터 | 리포 | 받기가 하는 일 |
|---|---|---|---|
update |
그대로 | 바뀜 | 리포 것으로 바꿉니다 |
keep |
바뀜 | 그대로 | 내 수정을 그대로 둡니다. 다음 push에 올라갑니다 |
conflict |
바뀜 | 바뀜 | 멈추고 어느 쪽을 남길지 묻습니다 |
replace |
처음 받는데 이미 파일이 있음 | 백업한 뒤 바꿉니다 |
같은 파일을 양쪽에서 고쳤을 때
error: these changed both here and in the repo:
conflict file CLAUDE.md (changed here and in the repo)
take the repo's version: aisync pull --force default (yours is backed up first)
keep yours: aisync push --force default (replaces the repo's version)
- 리포 것을 받으려면
pull --force. 내 파일은.aisync/backup/에 남습니다. - 내 것을 남기려면
push --force. 리포의 그 프로필 내용을 내 것으로 덮습니다.
두 내용을 합쳐야 한다면 백업 폴더의 내 파일을 보고 손으로 합친 뒤 올리세요.
새 파일과 새 서버 추가하기
push는 지난번에 받은 파일과 서버만 다시 읽습니다. 새로 만든 것은 직접 추가합니다.
aisync push default --add skills/deploy
aisync push default --add-server notion
새 서버에 평문 토큰이 있으면 올리기를 멈춥니다. --secrets를 붙이면 그 토큰을 암호화 저장소로 옮기고 참조로 바꿔 올립니다. 이 컴퓨터의 .claude.json도 함께 참조로 바뀝니다.
이 문서는 aisync 0.1 기준입니다.