본문 바로가기

개인 공부/Github

Github Commit Message 작성 법

728x90
반응형

 

작년부터 프로젝트 수업을 진행하면서 Github을 사용하여 버전 관리 및 이슈관리를 진행하고 있다.

최근 들어 프로젝트 수업의 프로젝트의 규모가 커지고 구현 기능들이 점점 많아짐에 따라, 
프로젝트 팀 내에서 기능별 커밋을 하기로 정하였다.

하지만 나는 Commit message를 작성하는 방법은 "일자(기능)" 혹은 기능만을 한글로 작성해 왔다.
아래 사진에 있는 Commit message만 봐도 어떠한 내용이 구현되었는지 알 수 없다.
(프로젝트 기능 연습용이었지만, 해당 레파지토리가 프로젝트에 그대로 사용될 줄 몰랐다. )

레파지토리 history

또한 Github는 전세계 개발자들이 코드를 공유하는 곳이기 때문에
한글로 작성된 Commit message의 경우 한글을 모른다면, 이해할 수가 없다.

그렇다면 가장 올바른 Commit message를 작성하는 방법은 무엇일까?

 

커밋 메세지 작성 방법


우선 Commit을 하게 되면 메시지를 작성하여 어떠한 내용에 대한 커밋을 했는지가 명확하게 적혀 있어야
다른 사람이 보고 수정된 사항을 금방 알 수 있다.

또한 2020년 현재 전 세계적으로 영어를 공용어로 사용하여 소통하기 때문에 영어로 작성하는 것이 가장 좋은 방법이다.

좋은 커밋 메세지를 작성하기 위해서 몇 가지 자료를 찾아보던 중 아래와 같은 글이 적혀 있는 글을 보았다.

1. 제목과 본문은 한 줄을 띄워 적는다.
2. 제목은 50자로 제한한다.
3. 제목은 대문자로 작성한다.
4. 제목은 마침표를 사용하여 끝내지 않는다.
5. 제목은 명령조를 사용한다.
6. 본문은 72자를 넘어가면 줄바꿈을 해준다.
7. 본문에는 how가 아닌 what / why을 적어준다.

출처 : https://chris.beams.io/posts/git-commit/

사실 터미널이나 gitbash의 명령어를 사용하여 커밋을 하기 때문에 본문을 작성할 수 없다.

따라서 간단하게 많이 쓰는 커밋 명령어를 사용하여 커밋 메세지를 작성하기로 하였다.

자주 사용하는 커밋 메세지


Add - 기능 혹은 코드가 추가 되었을 경우 작성
Fix - 기존에 작성된 코드에 버그 및 수정된 기능이 있을 경우 사용
Rename - 파일 이름 및 명시된 이름이 변경 되었을 경우 사용
Remove - 코드가 삭제 된 경우 사용
Delete - 파일이 삭제된 경우 사용 
Refactor - 코드를 전면 수정할 경우 사용
Move - 파일이 다른 디렉토리로 이동 했을 경우 사용

최근 들어 위에 작성된 용어들을 사용하여 커밋 메세지를 작성할 경우 아래와 같이 작성하여 누구든 쉽게 이해할 수 있도록 하고 있다.

commit message

나는 2019년 오픈소스 수업을 들으면서 프로젝트 수업에서 Github을 사용하여 프로젝트 버전 관리 및 이슈관리를 처음 사용 해 보았고 , Git을 어떻게 관리해야 하는지 현재 까지도 명확하게 답을 알고 있지 않다.
(사실 많은 Github페이지를 보면서 이해하려 했으나, 사람마다 달랐다)
물론 팀으로 구성된 Git의 경우 팀 내에서 정한 규칙에 따라야 한다.
하지만 개인의 Git은 자신이 해왔던 프로젝트 혹은 개인 공부를 나타내기 위한 하나의 페이지인 경우도 있고, 취업을 위한 하나의 포트폴리오 사이트가 될 수 있다.
다만, Github을 사용하여 코드를 올리게 되는 경우 많은 사람이 나의 코드를 볼 수 있다는 점은 감안 해야한다.
나의 코드가 많은 사람들에게 공개가 되는 경우 어떠한 기능이 있는지는 명확해야 한다는 것이다.

사실 가장 좋은 방법은 많은 사람들이 사용하고 있는 방법을 사용하는 것이 가장 좋다.
많은 사람이 사용한다는것은 그 만큼 익숙하다라는 장점을 가진것이 아닐가 생각이 든다.

728x90
반응형