비공개 베타: 소스와 설치 파일은 공개 준비 중이라 설치 명령은 아직 동작하지 않습니다.
aisync

동기화와 충돌

여러 컴퓨터에서 고쳤을 때 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)

두 내용을 합쳐야 한다면 백업 폴더의 내 파일을 보고 손으로 합친 뒤 올리세요.

새 파일과 새 서버 추가하기

push는 지난번에 받은 파일과 서버만 다시 읽습니다. 새로 만든 것은 직접 추가합니다.

aisync push default --add skills/deploy
aisync push default --add-server notion

새 서버에 평문 토큰이 있으면 올리기를 멈춥니다. --secrets를 붙이면 그 토큰을 암호화 저장소로 옮기고 참조로 바꿔 올립니다. 이 컴퓨터의 .claude.json도 함께 참조로 바뀝니다.

이 문서는 aisync 0.1 기준입니다.