Go 위키: 커밋 메시지

1 개요[ | ]

Go Wiki: Commit messages
고 위키: 커밋 메시지

CL(변경목록) 설명이라고도 하는, 커밋 메시지는 https://go.dev/doc/contribute#commit_messages 에 따라 형식을 지정해야 합니다 . 예를 들면 다음과 같습니다.

net/http: handle foo when bar

[상세설명은 여기(본문)에]

Fixes #12345

특히, 제목(설명의 첫 번째 줄)의 경우:

  • 변경의 영향을 받는 패키지 이름은 콜론 앞에 씁니다.
  • 콜론 뒤에는 동사로 시작하여 다음 문장의 빈칸을 완성시키는 문구를 사용합니다. "this change modifies Go to ___________"
  • 콜론 뒤의 동사는 소문자입니다.
  • 후미 마침표를 붙이지 않습니다.
  • 가능한 한 짧게 해야 합니다(여러 Git 조회도구들이 ~76자 미만을 선호하지만, Go에서는 이에 대해 아주 엄격하지는 않습니다).

본문의 경우(나머지 설명):

  • 더 긴 행이 필요하지 않은 한(예: ASCII아트, 테이블, 긴 링크), 텍스트는 ~76자(주로 Git 조회도구 요구사항에 맞추어) 이하로 줄바꿈되어야 합니다.
  • Fixes 행은 본문 뒤에 작성하며 본문과는 빈 개행문자로 분리합니다. (후미 마침표를 사용하는 것(예: Fixes #12345.)이 허용되지만 필수는 아닙니다.)
  • 커밋 메시지에 마크다운을 사용하지 않습니다 .
  • Signed-off-by 행은 쓰지 않습니다. 추가하지 마세요. 대신 Gerrit 서버 및 GitHub 봇이 CLA 규정준수를 강제합니다.
  • CL을 참조할 때, 직접 Gerrit URL이나 git 해시를 사용하는 것보다는, "CL nnn"이라고 언급하거나 go.dev/cl/nnn 단축링크를 사용하는 것이 미래지향적이기에 선호됩니다.
  • 저장소 간에 코드를 이동할 때, 이동 전후의 CL, 저장소 이름, git 해시를 포함하면 이력/블레임을 더 쉽게 추적할 수 있습니다.

Fixes 대신, GitHub에서 지원하는 대체 별칭(예: Close나 Resolves)을 사용하지 마세요.

fixed(고쳐짐) 표시 없이 이슈에 커밋을 연결하려면(예를 들어, 커밋이 픽스 작업 중이지만 아직 완전한 픽스가 아닌 경우), GitHub에서 커밋 메시지에서 이슈를 번호로 언급하면 됩니다. 관례적으로 Go 커밋에는 메시지 하단 Fixes 자리에 For를 사용하여 이슈 번호를 언급합니다(이미 커밋 메시지 본문에서 이슈 번호를 언급한 경우도 마찬가지).

예를 들면 다음과 같습니다.

Refactor func Foo.
This will make the handling of <corner case>
shorter and easier to test.

For #12345

다른 Git 프로젝트에서는 For 대신 Updates를 사용하는 것이 일반적인데, 의미가 딱 들어맞지 않더라도(커밋이 이슈를 업데이트하는 것은 아님) 괜찮습니다. 더 정확한 표현도 괜찮습니다. 코드 리뷰를 너무 현학적으로 하지 마세요. 사람들에게 Updates 등을 For로(또는 그 반대로) 변경하라고 요청하는 것은 별 가치가 없습니다.

2 되돌리기[ | ]

Gerrit의 Revert 버튼을 사용하여 변경사항을 롤백할 수 있습니다. Gerrit이 설명을 생성해줄 것입니다. 설명을 편집하여 Git 리비전 번호 다음에(또는 그 대신에) 롤백되는 Gerrit CL 번호를 추가하세요.

Gerrit UI를 사용하여 Revert의 Revert을 생성하지 마세요(사람들에게 즉시 알림이 가게 됩니다). 대신 새 변경사항을 메일로 보내되, 설명(description)에 CL NNNNNN에 의해 ​​롤백된 CL NNNNNN의 롤포워드라고 작성해주세요.

3 다른 repo[ | ]

"go" 이외의 repo("crypto", "tools", "net" 등)의 경우, 제목은 여전히 ​​패키지 이름이지만 GitHub org/repo 구문을 사용하여 이슈 번호를 완전한정(fully-qualify)해야 합니다.

cipher/rot13: add new super secure cipher

Fixes golang/go#1234

특히 첫 번째 줄 제목에 x/crypto/ 접두사가 포함되어서는 안됩니다. 이슈 트래커에서만 그렇게 합니다.

4 비규범 참고자료[ | ]

5 GitHub 풀 요청[ | ]

누군가 커밋 메시지를 수정하라고 요청하면, PR을 수정할 필요가 있습니다.

Github-to-gerrit.png


이 콘텐츠는 Go 위키의 일부입니다.

6 같이 보기[ | ]

7 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}