git commit convention에 관하여

core·2022년 11월 3일
0

우아한테크코스

목록 보기
3/6

서론

우리가 작업을 하게 된다면 git을 이용한 commit 활동을 하게 된다.

개인 프로젝트 및 토이 프로젝트를 진행하는 경우에는 우리는 단순히 다음과 같은 명령어를 통해서 commit을 해봤을 것이다.

git commit -m “커밋할 메시지”

이 커밋할 메시지에서 자기가 원하는 방식대로 메시지를 작성했을 것이다.

하지만 다른 사람과 같이 협업해야 하는 상황이라면 자기가 원하는대로 메시지를 작성하면 다른 협업 작업자 입장에서는 나의 메시지를 이해하기 힘들 수도 있고, 작업 하기가 수월하지 않을 수도 있는 상황이 발생할 수 있다. 또한 내가 그동안 작성한 commit의 log를 살펴보면 과거 내가 작성했던 commit의 내용을 이해하지 못하는 상황도 발생할 수 있다.

그래서 이러한 상황들을 방지하기 위해서 commit convention을 지키는 습관도 중요하다.


편집기를 통해서 commit 내용 작성하기

1️⃣ git config —global core.editor (사용할 편집기)

어떤 환경에서 commit을 할 지 정하기 위해서 쓰이는 명령어이다.

나는 vim 편집기가 익숙해서 다음과 같은 명령어를 사용했다.

git config —global core.editor vim

그 밖에 nano, emacs 등이 있다.

2️⃣ git commit -a

위의 명령어를 사용하면 자신이 설정한 편집기 환경에서 commit 내용을 작성할 수 있다.

좋은 commit message를 작성하기 위한 형태

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

⚠️ 한 라인에서 작성할 수 있는 글자 수는 100자를 넘어가면 안된다!

<type> 의 종류

👉 feat(feature): 새로운 기능을 추가할 시 작성한다.
👉 fix: 코드내에서 버그를 수정할 때 사용한다. 주로 기능상 오류를 수정할 때 사용한다.
👉 docs(documentation): 문서 등의 내용을 수정할 때 쓰인다.
👉 style (formatting, missing semi colons, …): 코드 포멧팅, 세미콜론 누락 등 코드 스타일링을 했을 때 사용한다.
👉 refactor: 코드 리펙토링시 사용한다. 코드를 수정하되 프로그램의 흐름은 변경이 없어야 한다! 예를 들어 어떤 입력값에 대한 결과값은 변경이 없어야 한다. 가독성, 복잡성 관련 작업을 진행할 때 사용한다.
👉 test: 누락된 테스트 코드를 작성했을 때 사용한다.
👉 chore(maintain): 유지 보수 등의 내용일 때 사용한다.
👉 build: 빌드 관련 내용 변경이 있을 때 사용한다. (ex. npm 관련 내용, 외부 dependency 추가 등)
👉 perf: 성능 관련 코드 수정이 있을 때 사용한다.

<scope>의 종류

이 영역은 입력해도 되고 입력하지 않아도 된다. 사용자의 선택사항이다. 어떤 내용을 작성할지도 사용자의 선택사항이다. 예를 들어서 다음과 같이 사용할 수 있다.

$location, $browser, $compile, $rootScope, ngHref, ngClick, ngView, etc…

<subject\>의 내용을 나타내기 위한 단어로 봐도 무방하다.

<subject>

commit message의 제목을 작성하는 영역으로 다른 작업자가 보기 좋게 최대한 간결하고 보기 좋게 어떤 내용 변경이 있었는지 작성한다. 해당 영역에서 마지막에는 마침표를 쓰면 안된다.
영어권의 경우 첫 글자는 대문자가 아닌 소문자로 시작해야하며 현재형을 사용해야 한다.

<body>

반드시 현재형으로 작성해야 한다.
변경 내용에 대한 동기가 있어야 하고, 변경 전과 후에 대한 차이를 설명해야 한다.

여기에 모든 변경 사항들과 변경 내용의 정당성, 그리고 변경한 내용(변경 전과 변경 후)이 상세하게 작성이 되어야 한다.
특히 이슈 및 버그 관련 내용이라면 이슈 및 버그를 해결했을시 그동안 있었던 이슈 및 버그 번호들을 closes를 통해서 명시를 해주어야 한다. footer 초반에 명시를 해줘야 한다.
👉 closes #이슈번호

profile
코어의 서버 탐험기

0개의 댓글