aic가 충돌을 해결하는 방식
resolve는 워크플로이지 마법 지팡이가 아닙니다. aic는 충돌한 각 파일을 돌며, 수정을 제안하고, 매 단계에서 승인을 위해 멈춥니다.
- 감지
aic resolve가 저장소 상태를 읽습니다. 병합 중이고 미해결 파일이 있으면 나열합니다. - 파일별 해결 각 파일마다 aic는 충돌 내용을 모델에 보내 마커 없는 버전을 받습니다. 마커가 빠져나오면 한 번 재시도합니다.
- diff 검토 aic는 제안된 모든 해결을 하나의 diff로 묶습니다 — 마커는 제거, 양쪽은 조정 — 무엇이 바뀔지 정확히 보입니다.
- 파일별 승인 각 파일은 자체
apply?프롬프트를 갖습니다. yes면 aic가 해결안을 작성하고 스테이지합니다. no면 그 파일은 그대로입니다. - 마무리 미해결이 없으면 aic가 병합의
--continue를 실행합니다. 진행 중 막힌 부분은 명확한 인수인계로 보고되고, 정체 모를 카운트가 아닙니다.
두 가지 진입
명령을 외울 필요 없습니다. 명시적인 동사가 있고, 잊을 때 잡아주는 가드가 있습니다.
-
aic resolve명시적인 동사. 저장소가 병합 중이면 언제든 실행하면 aic가 위의 감지 단계부터 이어받습니다. - 커밋 가드 충돌된 저장소에서 평범한
aic를 실행하면 알아채고, resolve로의 인수인계를 제안하며, 더 깊은 가드가 여전히 충돌 마커를 담은 커밋을 막습니다. 친절한 현관, 그리고 안전망.
당신의 허락 없이는 아무것도 적용되지 않는다
요점은 이것: aic는 제안하고, 당신이 결정합니다. 당신이 보고 승인하지 않은 해결은 결코 쓰지 않습니다.
aic가 당신에게 남기는 것
앞서 정직하게, 도구가 끝나고 당신이 시작하는 지점을 알도록. 이것은 v1의 한계입니다.
- 병합 충돌만 aic가 다루는 것은 충돌된병합 상태. 진행 중인 rebase나
am은 v1에서 감지되어 거부됩니다 — 완료하거나 중단한 뒤 resolve하세요. - 자동 해결이 안 되는 충돌도 바이너리 파일, 과도하게 큰 파일, delete/modify 충돌은 이유와 함께 건너뜁니다 — aic가 수동 해결이 필요한 지점을 짚어 줍니다.
- 마무리는 전부 아니면 전무 어찌 됐든
--continue는 미해결 경로가 있으면 막히므로, 남은 한 블로커가 마무리를 잡습니다. aic의 인수인계는 무엇이 남았는지 정확히 알려줍니다.
한 줄 요약
aic resolve는 충돌한 파일을 읽고, 실제로 검토할 수 있는 해결을 제안하며, 당신이 승인한 것만 씁니다 — 그런 다음 병합을 마무리합니다. aic가 커밋에 쓰는 것과 같은 "diff를 읽고, 수정을 초안하고, 출시하라" 루프가 git에서 가장 보기 흉한 부분을 향하고 있습니다.