본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 26. 14:59

git merge가 스스로 완료되도록 만들었습니다 — VS Code, 터미널, 그리고 CI에서

요약

반복적인 Git 머지 충돌을 자동으로 해결해 주는 도구인 'Merge Magic'을 소개합니다. VS Code, 터미널, CI 환경에서 작동하며 LLM을 활용해 지루한 충돌 해결 과정을 자동화합니다.

핵심 포인트

  • Git merge/rebase 시 인라인 해결사로 호출 가능
  • Anthropic API를 활용한 지능형 충돌 해결
  • CI 환경에서 자동 검증 및 Markdown 보고서 생성 지원
  • 사용자 선택에 따른 자동 커밋(opt-in) 방식 제공

당신의 Merge Magic 초안을 바탕으로, 더 깔끔한 CEO 스타일의 Markdown 버전을 작성했습니다:

# Merge Magic: 사람이 개입할 필요가 없는 머지 충돌(Merge Conflicts) 해결하기

저는 동일한 머지 충돌(merge-conflict) 패턴을 반복해서 해결하는 것에 지쳐서 **Merge Magic**을 만들었습니다.
...
```js
<<<<<<< HEAD
export function getUser(id) {
  console.log('[users] fetch', id);
  return db.users.findById(id);
}
=======
export function getUser(id) {
  if (!id) throw new Error('id required');
  return db.users.findById(id);
}
>>>>>>> feature/validation

한 브랜치는 로깅(logging)을 추가했습니다.
다른 브랜치는 유효성 검사(validation)를 추가했습니다.
...

이 충돌은 두 커밋(commit) 사이에서 발생합니다:

🔴 HEAD        a1b2c3d   perf: bigger page size, shorter session timeout
                          Alice Chen · 2 days ago

🟢 MERGE_HEAD  9b79e0a   scale: max page size, longer session for enterprise
                          Bob Kumar · 1 day ago

목표는 어려운 결정을 숨기는 것이 아닙니다.

...

npm install -g merge-magic
mergemagic setup
echo "* merge=mergemagic" >> .gitattributes

그 이후에는 git mergegit rebase가 인라인(inline)으로 해결사(resolver)를 호출할 수 있습니다.

...

- run: npm install -g merge-magic

- env:
    ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
  run: mergemagic ci --base "${{ github.base_ref }}"

CI 체크는 Actions 요약(summary)에 Markdown 보고서를 게시합니다.

...

npm install -g merge-magic
mergemagic demo

데모는 임시 저장소(temporary repository)에서 실행되며 귀하의 코드를 건드리지 않습니다.

제가 찾고 있는 피드백

특히 다음 세 가지 사항에 대한 피드백을 소중히 여기겠습니다:

  1. 검증 단계(verification floor)가 충분히 잡아내나요?
    타입(type) 및 린트(lint) 오류는 잡아내지만, 동작 회귀(behavioral regressions)는 잡아내지 못합니다.

  2. 기계적인 사전 처리(mechanical pre-pass)가 너무 보수적인가요?
    현재는 LLM이 잘 처리할 수 있는 상황임에도 불구하고 모호한 모든 것을 뒤로 미룹니다.

  3. CI 모드가 너무 공격적이거나 너무 조심스러운가요?
    자동 커밋(Auto-commit)은 선택 사항(opt-in)이며, Merge Magic은 main으로 직접 푸시(push)하는 것을 거부합니다.


가장 유용한 피드백은 해결 방식(resolution)이 잘못되었을 때 발생합니다.

그러한 사례들이 해결사(resolver), 프롬프트(prompt), 그리고 사전 검사(pre-pass)를 개선하는 밑거름이 됩니다.

병합 충돌(Merge conflicts)은 사라지지 않을 것입니다.

하지만 지루한 충돌들은 사라져야 합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0