오늘의 영어 표현 7/30 · 단계: PR 설명. 예문은 모두 이 글을 위해 지어낸 것입니다. 실제 저장소의 PR 을 옮긴 것이 아니며, 이슈 번호는 예시입니다.
목차
한눈에 보기
| 표현 | Fixes #1234 / Closes #1234 / Resolves #1234 |
| 뜻 | 이 PR 이 1234번 이슈를 고칩니다(병합되면 이슈를 닫습니다). |
| 쓰는 자리 | PR 설명, 커밋 메시지 |
| 공손함 | 해당 없음. 기계가 읽는 형식입니다 |
1. 뜻과 뉘앙스
GitHub 문서에 따르면 PR 설명이나 커밋 메시지에 닫는 키워드와 이슈 번호를 함께 쓰면 PR 과 이슈가 연결되고, PR 이 병합될 때 이슈가 자동으로 닫힙니다. 키워드는 아홉 개입니다: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved. 문서는 대문자로 쓰거나 키워드 뒤에 콜론을 붙여도(CLOSES #10, Closes: #10) 된다고 설명합니다.
중요한 조건이 하나 있습니다. PR 이 저장소의 기본 브랜치(대개 main)를 대상으로 할 때만 키워드가 동작합니다. 릴리스 브랜치를 대상으로 하는 PR 에 Fixes 를 써도 이슈는 닫히지 않고 연결도 생기지 않습니다. 다른 저장소의 이슈를 가리킬 때는 Fixes owner/repo#1234 처럼 저장소 이름을 붙입니다. 이슈가 여럿이면 Fixes #10, fixes #11 처럼 이슈마다 키워드를 붙여야 합니다.
Kubernetes 의 PR 양식에는 Which issue(s) this PR is related to 라는 칸이 있고, 안내문은 이슈 번호 앞에 Fixes 를 붙이라고 합니다. KubeVirt 의 PR 양식도 References 칸에 Fixes # 줄을 미리 넣어 두고, 병합될 때 이슈를 닫으려면 이 모양으로 쓰라고 안내합니다.
영어 문장으로서의 뉘앙스도 알아 둡니다. fixes 는 「버그를 고친다」, closes 는 「이슈를 끝낸다」(기능 요청이나 문서 작업에도 자연스러움), resolves 는 그 중간입니다. 기능은 다 같지만, 이슈 성격에 맞는 단어를 고르면 읽기 좋습니다.
2. 예문
상황 1: 버그 수정 PR 의 첫 줄
Fixes #1234
The restore job now waits for the PVC to be bound before starting the pod.
첫 줄에 키워드를 두고, 빈 줄 다음에 무엇을 바꿨는지 한두 문장으로 적습니다.
상황 2: 이슈를 닫지 않고 연결만 할 때
Part of #2001. This PR adds the API field only; the controller logic will follow in a separate PR.
큰 작업의 일부라면 Fixes 를 쓰면 안 됩니다. 이 PR 이 병합되는 순간 아직 끝나지 않은 이슈가 닫혀 버리기 때문입니다. Part of, Related to, Refs 같은 말은 키워드가 아니라서 이슈를 닫지 않습니다.
상황 3: 리뷰어가 연결을 요청할 때
Could you add
Fixes #1234to the PR description so the issue gets closed on merge?
3. 비슷한 표현과 차이
- Closes #1234. 기능 요청, 문서 작업처럼 「버그」가 아닌 이슈에 더 자연스럽습니다. 동작은 같습니다.
- Related to #1234 / Refs #1234. 연결만 하고 닫지 않습니다. GitHub 는 번호를 링크로 바꾸고 이슈 쪽에 언급 기록을 남깁니다.
- Follow-up to #1200. 이전 PR 의 후속 작업이라는 뜻입니다. 10편의 follow-up PR 과 이어집니다.
4. 한국인이 자주 하는 실수
- This PR is for fixing the issue #1234. 문장은 통하지만 키워드 모양이 아니어서 이슈가 닫히지 않을 수 있습니다. 또 the issue #1234 처럼 관사를 붙이지 않습니다.
- 고친 문장: Fixes #1234
- Fix #1234 issue. 명령문처럼 보이고 issue 가 뒤에 붙어 어색합니다.
- 고친 문장: Fixes #1234
- Fixes #10, #11 두 번째 이슈는 키워드가 없어 닫히지 않습니다.
- 고친 문장: Fixes #10, fixes #11
5. 한 줄 연습
다음 내용을 PR 설명의 첫 두 줄로 쓰십시오. 이 PR 은 이슈 3456번의 일부만 해결합니다.
3456번 이슈의 일부입니다. 이번 PR 에서는 문서만 고칩니다.
모범 답안
Part of #3456
This PR only updates the docs. The code change will follow in a separate PR.
일부만 해결하므로 Fixes 대신 Part of 를 씁니다. will follow 는 「뒤이어 올 것이다」라는 뜻입니다.
티티 한마디. Fixes 는 GitHub 가 읽고 동작하는 키워드입니다. 이슈가 다 해결될 때만 씁니다.
참고
- GitHub Docs, Linking a pull request to an issue: https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue
- Kubernetes PR 양식: https://github.com/kubernetes/kubernetes/blob/master/.github/PULL_REQUEST_TEMPLATE.md
- KubeVirt PR 양식: https://github.com/kubevirt/kubevirt/blob/main/.github/PULL_REQUEST_TEMPLATE.md