기술면접 관련 및 참고하기

왜 Git의 Commit message는 중요할까?, 좋은 커밋 메시지란?

지팡구 2022. 12. 8. 16:48
이 글은 평상시 크게 신경쓰지 않았던 commit message와 관련된 내용으로 "NHN 클라우드 좋은 git 커밋 메시지를 작성하기 위한 7가지 약속" 이라는 글을 바탕으로 작성된 글입니다.

 

팀원들과 혹은 혼자서 개인 프로젝트 혹은 공부를 진행하고, 그 내용을 바탕으로 Git이라는 저장소에 던진다.

 

작업물을 Git으로 던질때마다, 그냥 해당 작업 내용을 적거나, 비슷한 내용이나, 귀찮으니까 대충 메시지를 던지곤 했었는데, 우리는 이 커밋 메시지를 잘 쓰려고 노력해야하고, 잘 써야한다. (특히나 협업 과정에서)

 

평소에 무심코 그냥 작업 내용만 포함해서 commit message를 작성했었다.

하지만 이 글을 읽고 더 좋은 커밋 메시지와 리뷰 프로세스 등을 고려하며 더욱 커밋 메시지를 잘 작성할 수 있도록, 노력하며 신중하게 작성해야겠다고 생각이 들었다.

 

커밋 메시지는

  • 더 좋은 커밋 로그 가동성을 주며
  • 더 나은 협업과 코드 리뷰 프로세스
  • 더 쉬운 코드 유지보수 등을 제공해준다.

그래서 정확한 척도가 없는 커밋 메시지에 대해 우리는 보편적인 기준을 우리는 생각해보아야 한다. 

좋은 git 커밋 메시지를 작성하기 위한 7가지 약속
  • 제목과 본문을 한 줄 띄워 분리하기
  • 제목은 영문 기준 50자 이내로
  • 제목 첫글자를 대문자로
  • 제목 끝에 . 금지
  • 제목은 명령조로
  • 본문은 영문 기준 72자마다 줄 바꾸기
  • 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기

제목과 본문 사이에 공백 한 줄을 추가할 것

<예시>
Derezz the master control program

MCP turned out to be evil and had become intent on world domination.
This commit throws Tron's disc into MCP (causing its deresolution)
and turns it back into a chess game.

https://git-scm.com/docs/git-commit

 

깃의 공식문서의 일부분이다

여기에 보면 필수는 아니지만 변경 내용을 요약한 짧은 (50자 미만) 한 줄로 커밋 메시지를 시작한 다음, 공백을 하나 추가하고 더욱 자세한 설명을 입력하는 것이 좋다고 한다. 

 

나머지 내용은 위에 있는 약속 7가지의 설명에서 핵심적으로 내용을 알려주고 있어 따로 정리는 하지 않겠다.


 

 

참고

https://meetup.toast.com/posts/106

https://git-scm.com/docs/git-commit

https://cbea.ms/git-commit/