필요한 정보 모아보기
테크

GitHub Copilot 코드 리뷰, 리뷰 이력 추적과 자동 커밋 메시지 생성 추가

#GitHub#Copilot#코드리뷰

핵심 내용

GitHub Copilot 코드 리뷰는 PR에 자동으로 리뷰 댓글을 남기는 기능이며, 이번 업데이트로 리뷰 진행 상황 추적과 지능형 자동 해결, 배치 커밋 메시지 생성 기능이 추가됐다.

GitHub가 Copilot 코드 리뷰의 리뷰 경험을 개선했다. 먼저 리뷰 개요 댓글이 Copilot의 전반적 평가, 사용된 리뷰 효율 수준, 발견된 문제 요약을 포함하도록 바뀌었다. 발견된 문제는 세 가지로 분류된다 — 아직 처리되지 않은 "Open"(신규 커밋으로 새로 생긴 것은 new 라벨 표시), 이전 리뷰 이후 개발자가 수정을 확인한 "Resolved since last review", 그리고 신규 커밋이 아니라 기존 코드에서 후속 리뷰 중 새로 발견된 "Previously missed"다. 각 문제에는 심각도와 해당 코드로 바로 이동할 수 있는 인라인 댓글 링크가 붙는다. 재검토를 요청해도 이전 진행 상황과 findings 기록은 유지된다.

각 Copilot 댓글에는 발견 사항을 요약한 제목이 붙어 개요의 문제 목록에서 우선순위를 정하기 쉬워졌다. 자동 해결 기능도 똑똑해져서, 댓글에 "일단 열어두겠다"는 답글이 달리면 그 의도를 존중하고, 후속 커밋을 기반으로 "Won't Fix"나 "Incorrect" 같은 해결 사유를 자동으로 기록한다.

또한 여러 Copilot 제안(다른 사람의 댓글까지 포함)을 한 번에 배치로 커밋할 때, Copilot이 선택된 변경 사항을 바탕으로 커밋 제목과 선택적 설명을 자동 생성해준다.

사용 방법

별도 설정 없이 자동으로 적용되지만, 자동 해결 기능은 답글을 다는 방식에 따라 인식이 달라진다. 예를 들어 Copilot이 남긴 코드 스타일 지적에 "지금은 그대로 두겠습니다" 같은 답글을 달아두면, 이후 커밋에서 해당 이슈가 자동으로 "Won't Fix"로 기록되는 식이다. 배치 커밋은 여러 제안에 체크박스를 표시한 뒤 "Commit suggestions" 버튼을 누르면, 그 화면에서 자동 생성된 커밋 메시지를 바로 확인하고 수정할 수 있다.

실무에 적용해보면

PR 리뷰가 쌓여서 뭐부터 봐야 할지 헷갈리는 팀이라면 이번 업데이트가 꽤 반가울 것 같다. 문제가 Open/Resolved/Previously missed로 자동 분류되니 "이거 지난 리뷰 때 얘기 끝난 거 아니었나" 같은 혼선이 줄어들 듯하다. 개인적으로 제일 눈에 띄는 건 배치 커밋 메시지 자동 생성이다 — Copilot 제안을 몰아서 반영할 때 커밋 메시지를 대충 쓰게 되는 경우가 많았는데, 이 부분이 실제로 도움이 될 것 같다.

다만 자동 해결 기능은 팀 컨벤션을 먼저 정리해두는 게 좋다. 확인해볼 부분을 굳이 정리하면:

  1. 새 개요 댓글 형식이 조직에 적용됐는지
  2. "지금은 그대로 둔다" 답글에 자동으로 붙는 해결 사유가 팀 방식과 맞는지
  3. 배치 수락 시 나오는 커밋 메시지가 저장소 컨벤션에 맞는지
출처 github.blog