Git 커밋 로그 자동화로 주간 업무 정리 시간을 획기적으로 줄이세요!
Git 커밋 로그를 기반으로 주간 업무 정리 자동화 파이프라인을 구축하여, 수동 작업 시간을 대폭 단축함
Claude Code를 활용하여 여러 Git 저장소의 커밋 로그를 수집, 분류하고, Obsidian Flavored Markdown 형식의 노트를 생성함
Python 스크립트를 통해 Obsidian 노트를 Confluence에 발행하며, upsert 패턴을 적용하여 중복 실행에 대한 안정성을 확보함
Crontab을 사용하여 매주 목요일에 자동 실행되도록 설정하여, 주간 업무 정리 프로세스를 완전 자동화함
Git 로그 수집 및 분류 자동화
본문에서는 Claude Code를 활용하여 14개 Git 저장소의 커밋 로그를 병렬로 수집하고, 프로젝트별, 날짜별로 자동 분류하는 방법을 제시한다.
`git log` 명령어: `--format` 옵션으로 날짜와 커밋 메시지만 추출하여 가독성을 높임
병렬 처리: 여러 저장소를 순회하며 로그를 수집하는 과정을 Claude Code가 자동화
자동 분류: 커밋 메시지 분석을 통해 프로젝트별로 분류하여, 수동 작업 시간을 단축
이러한 자동화는 Git 커밋 메시지를 일관성 있게 작성하는 습관을 전제로 하며, 수집된 데이터는 Obsidian 노트 생성의 기반이 된다.
Obsidian 노트를 활용한 주간 업무 정리
글에서는 Obsidian 노트를 주간 업무 정리의 로컬 허브(Local Hub)로 활용하며, 일관된 노트 구조를 통해 검색 및 비교의 용이성을 확보한다.
Frontmatter: `tags`, `period`, `projects` 등의 메타데이터를 활용하여 Dataview 플러그인으로 프로젝트별 필터링 가능
Callout: `> [!summary]`와 같은 Obsidian callout 문법을 사용하여 섹션 요약을 시각적으로 강조
파일 네이밍: `2026-W21 (05.18~05.24).md`와 같은 형식으로 주차별 정렬 및 검색 편의성을 제공
Obsidian을 활용하면, Confluence 외에도 다양한 플랫폼으로의 유연한 발행(Flexible Publishing)이 가능하다.
Confluence 발행을 위한 Python 스크립트 구현
본문은 Obsidian 마크다운(Markdown)을 Confluence HTML로 변환하는 Python 스크립트 구현 과정을 설명한다.
Obsidian 문법 변환: Obsidian 고유 문법(callout, wikilink 등)을 Confluence 호환 형식으로 변환
`CALLOUT_MAP`: Obsidian callout을 Confluence macro로 매핑하여, 시각적 일관성 유지
`upsert_page` 함수: 같은 제목의 페이지가 존재하면 업데이트, 없으면 생성하는 멱등성(Idempotency) 보장
이러한 upsert 패턴은 스크립트의 안정적인 실행(Stable Execution)을 보장하며, 반복 실행 시에도 데이터 손실을 방지한다.
Crontab을 이용한 자동화 스케줄링
글에서는 Crontab을 사용하여 주간 업무 정리 파이프라인을 자동화하는 방법을 제시한다.
래퍼 스크립트: `claude` 명령어를 호출하여 Claude Code를 실행하고, 로그를 파일로 저장
Crontab 등록: 매주 목요일 11시 47분에 래퍼 스크립트 실행
macOS 설정: 시스템 설정에서 cron의 전체 디스크 접근 권한을 허용해야 함
이러한 자동화 설정을 통해, 주당 45분, 월 3시간의 시간을 절약하며, 업무 생산성(Work Productivity) 향상을 이끌어낸다.
자동화 시스템 구축의 핵심 요소
본문은 Git 커밋 로그 자동화 시스템 구축의 핵심 요소들을 다음과 같이 정리한다.
Git 커밋 메시지: 업무 일지(Work Diary)로서의 역할을 수행하며, 자동화의 기반이 됨
Obsidian: 로컬 허브로서, 다양한 플랫폼으로의 발행을 가능하게 함
Upsert 패턴: 멱등성(Idempotency)을 보장하여, 중복 실행에도 안전한 시스템 구축
점진적 구축: 처음부터 완벽한 자동화를 목표로 하지 않고, 수동 → 반자동 → 완전 자동 순서로 발전
결과적으로, Git 커밋 메시지를 잘 활용하고, 점진적으로 자동화 시스템을 구축하는 것이 중요함을 강조한다.