코드 리뷰
ChatGPT 및 Codex 클라이언트에서 코드 변경 사항을 검토합니다
변경 사항을 커밋하거나 푸시하기 전에 ChatGPT 또는 Codex를 사용하여 코드를 점검하세요.
리뷰 시작하기
앱에서 리뷰하기
리뷰 창을 열어 변경된 내용을 파악하고, 줄별 피드백을 제공하며, 스테이징하거나 되돌리거나 커밋하거나 푸시할 항목을 결정하세요.
Codex에 변경 사항 검토를 요청하려면 작성란에 /review을 입력하세요.
기준 브랜치와 비교하여 리뷰 또는 커밋되지 않은 변경 사항 리뷰를 선택합니다. Codex는
작업 트리를 변경하지 않고 우선순위가 지정된 발견 사항을 보고합니다.
리뷰 창을 사용하려면 Git 저장소 안에 프로젝트가 있어야 합니다. 프로젝트가 아직 Git 저장소가 아니면 앱에서 저장소를 생성하라는 메시지를 표시합니다.
리뷰 범위 선택하기
표시되는 변경 사항
리뷰 창에는 Codex가 편집한 내용만이 아니라 Git 저장소의 상태가 반영됩니다. Codex가 만든 변경 사항, 사용자가 직접 만든 변경 사항 및 저장소의 커밋되지 않은 기타 모든 변경 사항이 포함됩니다.
기본적으로 리뷰 창에는 스테이징되지 않음 변경 사항이 표시됩니다. Git 인덱스는 스테이징됨, 선택한 커밋은 커밋, 기준 브랜치와의 차이는 브랜치, 가장 최근 어시스턴트 턴은 마지막 턴을 사용하세요.
여러 저장소 리뷰하기
로컬 프로젝트에 여러 폴더가 포함되어 있고 각 폴더가 서로 다른 Git 저장소에 연결된 경우 리뷰 창에서 각 저장소의 변경 사항을 표시할 수 있습니다. 현재 리뷰 창을 벗어나지 않고 다른 저장소와 추가되거나 삭제된 줄을 살펴보려면 리뷰 헤더에서 저장소 선택기를 여세요.
연결된 저장소 전체에서 어시스턴트가 최근에 변경한 내용을 보려면 마지막 턴을 선택하세요. 이 보기에서는 저장소 선택기에 모든 저장소가 표시됩니다. 스테이징되지 않음, 스테이징됨, 브랜치와 같은 다른 리뷰 범위는 선택한 저장소에 적용됩니다.
리뷰 결과 활용하기
코드 리뷰 결과
리뷰 발견 사항은 리뷰 창에 인라인 댓글로 표시됩니다.
기본적으로 리뷰는 현재 채팅에서 실행됩니다. 별도의 리뷰 채팅을 시작하려면 설정 > 일반 > 코드 리뷰에서 분리됨을 선택하세요. 개발자 설정을 참조하세요.
Codex에 발견한 문제의 수정을 요청하면 일반적인 샌드박스 및 승인 설정이 적용됩니다.
리뷰 창 탐색하기
- 파일 이름을 클릭하면 일반적으로 선택한 편집기에서 해당 파일이 열립니다. 기본 편집기는 개발자 설정에서 선택할 수 있습니다.
- 파일 이름의 배경을 클릭하면 diff가 펼쳐지거나 접힙니다.
- Cmd를 누른 상태에서 한 줄을 클릭하면 선택한 편집기에서 해당 줄이 열립니다.
- 변경 사항이 마음에 들면 스테이징하거나 원하지 않는 변경 사항을 되돌릴 수 있습니다.
피드백을 위한 인라인 댓글
인라인 댓글을 사용하면 diff의 특정 줄에 피드백을 직접 첨부할 수 있습니다. 이는 Codex가 적절한 수정 방향을 따르도록 안내하는 가장 빠른 방법인 경우가 많습니다.
인라인 댓글을 남기는 방법은 다음과 같습니다.
- 리뷰 창을 엽니다.
- 댓글을 달려는 줄 위에 포인터를 올립니다.
- 표시되는 + 버튼을 선택합니다.
- 피드백을 작성하고 제출합니다.
- 피드백 작성을 마치면 채팅으로 메시지를 보냅니다.
댓글은 특정 줄에 연결되므로 Codex는 일반적인 지시보다 더 정확하게 응답할 수 있습니다.
Codex는 인라인 댓글을 리뷰 지침으로 처리합니다. 댓글을 남긴 후에는 의도를 명확히 밝히는 후속 메시지를 보내세요. 예: “인라인 댓글을 반영하고 변경 범위는 최소한으로 유지해 주세요.”
풀 리퀘스트 리뷰
Codex에 저장소의 GitHub 액세스 권한이 있고 현재 프로젝트가 풀 리퀘스트 브랜치에 있으면 ChatGPT 데스크톱 앱에서 앱을 벗어나지 않고 풀 리퀘스트 피드백을 처리할 수 있습니다. 사이드바에는 풀 리퀘스트 컨텍스트와 리뷰어의 피드백이 표시되고, 리뷰 창에는 diff와 함께 댓글이 표시되므로 같은 채팅에서 Codex에 문제 해결을 요청할 수 있습니다.
Codex가 풀 리퀘스트 컨텍스트, 리뷰 댓글 및 변경된 파일을 불러올 수 있도록
GitHub CLI(gh)를 설치하고 gh auth login으로 인증하세요. gh이
없거나 인증되지 않으면 풀 리퀘스트 세부 정보가 사이드바 또는 리뷰 창에
표시되지 않을 수 있습니다.
전체 수정 과정을 한곳에서 처리하려면 다음 흐름을 사용하세요.
- 풀 리퀘스트 브랜치에서 리뷰 창을 엽니다.
- 풀 리퀘스트 컨텍스트, 댓글 및 변경된 파일을 검토합니다.
- Codex에 처리하려는 특정 댓글을 수정해 달라고 요청합니다.
- 리뷰 창에서 결과 diff를 점검합니다.
- 준비가 되면 변경 사항을 스테이징하고 커밋한 후 풀 리퀘스트 브랜치에 푸시합니다.
GitHub에서 트리거되는 리뷰는 GitHub에서 Codex 사용하기를 참조하세요.
파일 스테이징 및 되돌리기
리뷰 창에는 커밋하기 전에 diff를 정리할 수 있는 Git 작업이 포함되어 있습니다.
다음 수준에서 변경 사항을 스테이징하거나 스테이징 해제하거나 되돌릴 수 있습니다.
- 전체 diff: 리뷰 헤더에서 모두 스테이징 또는 모두 되돌리기와 같은 작업 버튼을 사용합니다.
- 파일별: 개별 파일을 스테이징하거나 스테이징 해제하거나 되돌립니다.
- 청크별: 단일 청크를 스테이징하거나 스테이징 해제하거나 되돌립니다.
작업의 일부를 적용하려면 스테이징을 사용하고, 버리려면 되돌리기를 사용하세요.
스테이징된 상태와 스테이징되지 않은 상태
Git에서는 같은 파일에 스테이징된 변경 사항과 스테이징되지 않은 변경 사항이 모두 있을 수 있습니다. 이 경우 리뷰 창의 두 보기에 동일한 파일이 표시될 수 있습니다. 이는 정상적인 Git 동작입니다.