궁금한게 많은 개발자 노트

[ Github ] Commit message 작성법 본문

Language

[ Github ] Commit message 작성법

궁금한게 많은 개발자 2020. 7. 10. 15:44

크고 작은 프로젝트를 진행하는데 있어서 가장 일반적으로 많이 사용하는 버전관리 툴은 깃허브일 것 같다.
대학생때부터 차츰 학교서버에 과제를 올리는 것에서 점점 각 과목의 레포를 생성하여 과제를 제출하는 추세로 변화했었다.
그때만 해도 교수님,조교님들의 가이드에 따라 과제를 제출하는 용도로만 생각했었는데 현업에 와서 제대로 깃허브를 사용하면
할수록 대단한 툴인것이 느껴진다.

 

그 중 commit message작성법에 대해 정리해보려고 한다.
업무를 하다가 선배님들이 내가 올린 PR에 대해 리뷰해주시면서 여러 사람들이 같이 프로젝트를 할 때, 그리고 혼자 작업을 한다 하더라도 좀 더 명확하게 해당 commit이 어떤 수정사항을 반영하고 있는지에 대해 적으면 좋을것 같다고 리뷰를 남겨주셨었다.
참고를 위해 알려주신 링크가 있는데 이 글을 읽는 모든사람에게 도움이 될 것 같다.

chris.beams.io/posts/git-commit/

 

How to Write a Git Commit Message

Introduction | The Seven Rules | Tips Introduction: Why good commit messages matter If you browse the log of any random Git repository, you will probably find its commit messages are more or less a mess. For example, take a look at these gems from my early

chris.beams.io

위의 링크를 한번 정독해보면 앞으로 다른 사람들이 쓴 commit message를 읽을 때나,
본인이 commit message를 작성할 때 다시 한번 생각해보고 쓸 수 있고 좀 더 간결하고 정확하고.. 있어보이지 않을까 싶다^^;;

 

위 링크에서는 다음 7가지만 지켜도 명확하고 정확한 내용전달이 되는 commit이 될 수 있다고 한다.

The seven rules of a great Git commit message

  1. Separate subject from body with a blank line
  2. Limit the subject line to 50 characters
  3. Capitalize the subject line
  4. Do not end the subject line with a period
  5. Use the imperative mood in the subject line
  6. Wrap the body at 72 characters
  7. Use the body to explain what and why vs. how

자신의 업무 PC에 포스트잇으로 위의 7가지 사항을 써두는 것도 commit message작성 및 프로젝트 관리에
상당한 도움이 될 것 같다. 실제로 내 경우에도 점점 더 신경써서 commit message를 작성하게 되고, 위의 규칙에
부합하는 commit이 눈에 더 잘들어오고 무엇을 수정하였는지 이해하기 쉬웠다.

위에서 알려주는 방식대로 잘 작성한 사례가 있으니 참고해보면 좋을 것 같다. 리눅스 커널 레포의 커밋들이다.
github.com/torvalds/linux/commits/master

 

torvalds/linux

Linux kernel source tree. Contribute to torvalds/linux development by creating an account on GitHub.

github.com

 

글의 말미에 보면

Learn to love the command line. Leave the IDE behind.

라는 문구가 써져있는데 나에게는 인상적이였다. 요즘은 Git을 관리해주는 다양한 IDE툴들이 존재하지만, 
많은 것을 경험하고 conflict가 생겼을 때, 꼬인것들을 푸는 연습과 성장을 위해서는 cmd line을 사용하라는 뜻인것 같다.

 

The future maintainer that thanks you may be yourself!

Comments