Dechive Logo
Dechive
← Logs
#git#obsidian#workflow#conflict

Obsidian Git 자동 커밋과 Claude Code가 동시에 push하면 생기는 충돌 해결

두 곳에서 같은 브랜치에 push하면 반드시 충돌난다. 역할을 분리해야 한다.

상황

Obsidian Git 플러그인을 10분마다 자동 커밋+push로 설정해놨다.

그런데 Claude Code(애기)가 포스트 파일을 직접 content 서브모듈에 커밋하고 push하려 하자 아래 에러가 떴다.

! [rejected] main -> main (fetch first)
error: failed to push some refs to 'https://github.com/...'
hint: Updates were rejected because the remote contains work that you do not have locally.

Obsidian Git이 먼저 자동으로 push한 상태에서, 로컬이 그 변경사항을 모른 채 또 push하려다 충돌난 것.

원인

content 서브모듈(dechive-content 레포)에 두 곳에서 동시에 push를 시도했다.

같은 브랜치에 두 곳에서 push하면 나중에 push한 쪽이 반드시 rejected된다. Git의 기본 원칙이다.

해결

그 자리에서는 git pull --rebase && git push로 해결했다.

git pull --rebase
git push

rebase로 remote 변경사항을 먼저 당겨온 뒤 로컬 커밋을 그 위에 올리는 방식.

앞으로의 워크플로우 (재발 방지)

파일 종류담당경로
포스트 .mdObsidian에서만 작성content/posts/
썸네일 이미지오라버니가 직접public/images/posts/
코드/설정Claude Code(애기)dechive 메인 repo

핵심 규칙: 애기는 content 서브모듈에 직접 손대지 않는다.

포스트 파일은 Obsidian → 자동 push → sync 워크플로우로만 올라간다. 애기가 직접 올리면 반드시 충돌난다. 오늘 확인했다.

사서Dechive 사서