전편에서 옵시디언 볼트를 깃허브 저장소로 만들었습니다. 모바일 세팅은 따로 정리하겠다고 했는데, 이 글이 그 후속입니다.

결론부터. 아이폰에서 Git 플러그인 하나로 pull, 쓰기, 커밋, 푸시까지 전부 됩니다. 저는 지난 2월에 세팅하고 잊고 지냈는데, 폰은 매일 최신 볼트를 받아 왔습니다. 세팅한 사람이 잊어버려도 돌아갑니다.

폰에서는 다른 git이 돕니다

Git 플러그인은 데스크톱에서 시스템에 설치된 git을 부르지만, 아이폰에는 그 git이 없어서 모바일에서는 isomorphic-git이라는 자바스크립트 구현체로 돕니다. 개발자 스스로 README에서 모바일은 불안정하다고 경고하고, SSH도 못 씁니다. 인증은 HTTPS에 토큰, 이 한 가지뿐입니다.

경고만 보면 포기할 이유가 충분해 보이는데, 제 볼트는 25MB에 마크다운 319개고 이 크기에서 문제를 느낀 적이 없습니다.

세팅 순서

iSH나 Working Copy 같은 별도 앱은 필요 없습니다. 플러그인만으로 끝납니다.

  1. 토큰을 만듭니다. 깃허브에서 fine-grained personal access token을 발급합니다. Repository access는 볼트 저장소 하나만, Permissions는 Contents에 Read and write. 이름은 용도가 보이게 지어두세요. 이유는 아래에서 말합니다.

  2. 폰에 옵시디언과 Git 플러그인을 깝니다. 새 볼트를 하나 만들고(Store in iCloud는 끕니다), 커뮤니티 플러그인에서 Git을 설치해 켭니다.

    옵시디언 새 볼트 만들기 화면. Store in iCloud를 끈 상태

    커뮤니티 플러그인의 Git 플러그인 설치 화면

  3. 클론합니다. 커맨드 팔레트를 열고(모바일 기본값은 화면을 아래로 쓸어내리기) “Git: Clone an existing remote repo"를 실행합니다. 생각보다 물어보는 게 많은데, 순서대로 이렇게 답하면 됩니다.

    • Enter remote URL: 저장소 주소 (https://github.com/계정/저장소.git)
    • 디렉토리: Vault Root 선택
    • Does your remote repo contain a .obsidian directory?: 전편대로 설정을 커밋해 왔다면 YES. 그러면 로컬 .obsidian을 지우겠다는 무서운 확인(“DELETE ALL YOUR LOCAL CONFIG AND PLUGINS”)이 뜨는데, 방금 만든 빈 볼트의 설정을 지우고 저장소에 있는 설정으로 대체하겠다는 뜻이라 그대로 진행하면 됩니다. 플러그인과 설정은 클론이 끝나면 저장소에서 그대로 살아납니다.
    • Depth of clone: 빈칸으로 두면 전체 클론입니다.
    • username / password: username은 깃허브 계정, password 칸에는 토큰. 계정 패스워드는 깃허브가 거부하고 토큰만 통합니다.

    클론 중에 경고 알림이 꽤 뜨는데, 제 경우 끝까지 정상적으로 받아졌습니다. 끝나면 옵시디언을 재시작하라는 알림이 뜹니다.

  4. 재시작 후 나머지 설정을 잡습니다. 플러그인 설정에서 commit author의 name과 email을 채웁니다. 이게 비어 있으면 폰에서 커밋할 때 걸립니다. “Pull updates on startup"은 전편처럼 설정을 커밋하고 있다면 켜진 채로 들어와 있을 테니 확인만 하면 됩니다. 이걸 켜두면 앱을 열 때마다 최신 상태로 시작합니다.

토큰을 지웠더니 동기화가 끊겼습니다

이 글을 쓰면서 깃허브 토큰 목록을 정리하다가 볼트용 토큰이 “Never used"로 표시된 걸 봤습니다. 몇 달을 매일 pull해 온 것인데요. 안 쓰는 토큰인가 싶어 지웠더니 폰의 동기화가 그 자리에서 끊겼습니다.

새 토큰을 만들어 붙여넣으니 바로 복구됐습니다. 그리고 방금 push에 쓴 새 토큰도 목록에는 여전히 “Never used"로 뜹니다. 깃허브의 Last used 표시는 git 인증을 세지 않습니다. 이 표시만 믿고 토큰을 지우면 멀쩡한 동기화가 끊깁니다. 토큰 이름을 용도가 보이게 지어두라고 한 이유입니다.

저는 폰으로는 주로 읽습니다

제 사용 패턴은 단순합니다. 글은 맥에서 쓰고, 폰에서는 읽습니다. 앱을 열면 자동으로 pull이 돌고, 어디서든 최신 볼트가 손에 있습니다. 가끔 폰에서 떠오른 생각을 한 줄 적으면 그것도 커밋되어 올라갑니다. 쓰는 쪽이 한쪽에 몰려 있으니 전편에서 말한 충돌은 폰에서 볼 일이 거의 없습니다.

전편에서 모바일은 기대치를 낮춰야 한다고 썼습니다. 정정합니다. 적어도 이 볼트 크기에서는, 낮출 게 없었습니다.