오늘 방문 /누적 방문 /완성한 레슨 소개 ↗
SECONDTEAM
Git·GitHub
🔀 레슨

PR — 리뷰 받고 합치기

"이렇게 바꿨는데 봐줄래?"의 공식 형식. AI 시대에 사람이 하는 가장 중요한 일.

① 오늘의 미션
분점에서 신메뉴가 올라왔다
지난 레슨에서 우리는 branch(평행우주)로 '매운 마라떡볶이' 신메뉴를 따로 실험했어요. 이제 그 실험이 잘 돼서, 본점 메뉴판(main)에 정식으로 들이고 싶어요.

그런데 곧장 본점 메뉴판에 끼워 넣지 않아요. 먼저 점장에게 보여주고 "이렇게 바꿨는데, 본점에 합쳐도 될까요?"라고 심사를 받죠. 이 공식 심사 양식이 바로 Pull Request(PR)예요. 오늘 배웁니다.

설명을 따라 진행하면, 여기서 직접 쳐보게 돼요 👇
~/my-shop
$ _
📚 「PR — 리뷰 받고 합치기」 레슨 내용 전체 텍스트로 훑어보기
분점에서 신메뉴가 올라왔다
지난 레슨에서 우리는 branch(평행우주)로 '매운 마라떡볶이' 신메뉴를 따로 실험했어요. 이제 그 실험이 잘 돼서, 본점 메뉴판(main)에 정식으로 들이고 싶어요.

그런데 곧장 본점 메뉴판에 끼워 넣지 않아요. 먼저 점장에게 보여주고 "이렇게 바꿨는데, 본점에 합쳐도 될까요?"라고 심사를 받죠. 이 공식 심사 양식이 바로 Pull Request(PR)예요. 오늘 배웁니다.

branch에서 작업을 끝낸 뒤, 그걸 main에 합치기 직전에 여는 'PR'은 한 마디로 뭘까요?
맞아요. PR은 '제 분점 변경분을 본점에 합쳐주세요(pull) 하고 요청(request)'하는 양식이에요. 바로 합치는 게 아니라 합치기 전에 한 번 보여주고 허락받는 단계죠.

PR을 하나 열면, 점장이 심사할 수 있도록 네 가지가 한 화면에 모여요.

PR 한 장의 구성
· 변경 요약 — "마라떡볶이 메뉴 추가, 매운맛 단계 3종" 같은 제목·설명
· diff — 어느 파일의 어느 줄을 지웠고/더했는지 빨강·초록으로 다 보임
· 코멘트 — 점장이 특정 줄에 "이 가격 맞아요?" 하고 콕 집어 질문
· 승인 / 머지 — 점장이 OK 하면 비로소 본점 메뉴판에 합쳐짐

즉 PR은 "무엇을·왜 바꿨는지"를 보여주고 → 대화하고 → 승인받고 → 합치는" 한 흐름을 담는 그릇이에요.

마라떡볶이 신메뉴 branch가 본점에 들어가기까지, PR은 어떤 순서로 흘러갈까요? 섞인 단계를 바로잡아 보세요.

핵심은 '머지(합치기)는 맨 마지막'이라는 거예요. push로 끝이 아니라, 열고 → 보고 → 대화하고 → 승인 → 머지. 이 사이의 검토가 PR의 진짜 알맹이예요.

요즘은 PR도 손으로 클릭하지 않고 Claude에게 시켜요. 가게 폴더에서 Claude를 켜고, 방금 push 한 마라떡볶이 branch로 PR을 만들어 달라고 해봐요.

지금 branch의 변경 내용으로 PR 하나 만들어줘. 제목이랑 '무엇을 왜 바꿨는지' 요약도 같이 써줘 — 변경 요약까지 담은 PR을 부탁해요
보세요 — Claude가 변경 요약과 diff 규모(+12 −0)까지 정리해 PR을 열었어요. 우리가 할 일은 이 PR을 검토하는 거예요.

PR 화면에서 menu.htmldiff를 펼쳤어요. 무엇이 보일까요?

맞아요. diff는 달라진 줄만 콕 집어 보여줘요. 마라떡볶이를 더한 줄은 초록(+), 혹시 지운 줄이 있다면 빨강(−). 덕분에 점장은 파일 전체가 아니라 '바뀐 곳만' 빠르게 검토할 수 있어요.

diff를 본 점장은 마음에 걸리는 줄에 코멘트를 답니다.

PR 위에서 오가는 대화
점장: "마라떡볶이 가격이 본점 다른 메뉴보다 너무 비싼데, 한 번 확인해줄래요?"
→ 작성자가 가격을 고쳐 다시 push → PR이 자동으로 갱신됨
→ 점장: "좋아요 👍" 승인(Approve)머지(Merge) 버튼이 열림

즉 PR은 한 번 내고 끝이 아니라, 코멘트로 주고받으며 다듬는 대화예요. 승인이 떨어져야 비로소 본점 메뉴판에 오릅니다.

이제 코드는 Claude가 쓴다 — 그럼 나는?
예전엔 PR을 내가 만들고 동료가 검토했어요. 이제는 Claude가 코드를 만들고 PR까지 열어줘요. 그렇다면 사람이 사라질까요? 정반대예요.

코드를 빠르게 찍어내는 일이 흔해질수록, "이 변경을 본점에 들여도 되는가"를 판단하는 리뷰가 사람의 가장 중요한 역할이 돼요. 가격이 맞는지, 우리 가게 톤에 맞는지, 빠진 건 없는지 — 맥락과 책임을 아는 사람만 할 수 있는 판단이죠.

기억할 한 문장
AI가 만든 PR을 그대로 머지하지 않고, 사람이 읽고 승인하는 그 한 단계가 — AI 시대에 인간이 쥐고 있어야 할 핸들이에요.
Claude가 마라떡볶이 PR을 열어 변경 요약과 diff까지 깔끔히 정리해줬어요. 사람이 할 가장 중요한 일은?
맞아요. 리뷰가 곧 사람의 일이에요. Claude가 빨라질수록 '읽지 않고 합치는' 습관은 더 위험해져요. 승인 버튼을 누르는 손이 사람의 책임이라는 걸 기억하세요.

이번엔 Claude에게 diff를 사람 말로 풀어 달라고 해서, 머지 전에 직접 검토해봐요. 검토는 클릭이 아니라 이해예요.

이 PR의 diff를 사람 말로 풀어줘. 본점에 합치기 전에 내가 꼭 확인해야 할 부분도 짚어줘 — diff를 검토용으로 요약받아요
Claude가 "여기를 봐 달라"고 검토 포인트까지 짚어줬어요. 그래도 합칠지 말지 정하는 건 사람 — 이게 핵심이에요.

점장이 diff를 다 보고 코멘트도 해결됐어요. 이제 PR의 변경분을 본점 메뉴판(main)에 합치는 마지막 동작, 그 이름은 뭘까요?

정답! 머지(merge)예요. 승인이 떨어진 뒤 머지를 눌러야 마라떡볶이가 비로소 본점 메뉴판에 오릅니다. 리뷰 없는 머지는 없다 — 이 순서가 PR의 전부예요.
한 줄로
PR은 '이렇게 바꿨는데 합쳐도 될까요?'의 공식 양식이에요. 변경 요약 → diff → 코멘트 → 승인 → 머지. 그리고 AI 시대엔 코드를 짜는 일보다, AI가 낸 PR을 읽고 승인하는 '리뷰'가 사람의 핵심 역할이에요.
다음 레슨에서
그런데 점장이 PR을 빨리 검토하려면, 애초에 변경이 잘 적혀 있어야 해요. 다음 레슨 '좋은 커밋 메시지 — 미래의 나에게'에서, 검토받기 좋은 기록을 남기는 법을 배웁니다. 가게는 계속 자랍니다. 🌱