깃 커밋 메시지

꼬디바아 ㅣ 2024. 2. 21. 12:48

728x90

대표이미지

 

728x90

 

🖥️ 커밋 메시지

working dir(작업중인 로컬 디렉토리)에서 git add를 하게 되면 변경된 파일의 목록이 index(stage)에 추가가 되는데 이 파일의 목록들을 HEAD(확정본)에 반영 시킬 때 git commit을 쓰게 된다.

📌 git commit 사용이유
commit을 함으로써 git에 저장을 한다. 또한 git에 저장을 함으로써 코드를 삭제, 변경하더라도 다시 이전의 상태로 되돌릴 수가 있게 된다.

 

커밋 메시지는 규칙이 맞아야 좋다. 그 이유는 팀원과의 소통, 편리한 과거의 기록 추적 때문이다. commit도 옵션이 있다.

 

🖥️ Commit Option

  • -m
git commit -m "커밋 메시지"

 

인라인 형식으로 바로 커밋 메시지를 작성한다.

 

  • -a 또는 -all
git commit -a -m "커밋 메시지"

 

별도의 add 명령어를 사용하지 않고, 수정된 모든 파일에 대해 add, commit을 한번에 수행한다.(단, 한번도 add되지 않은 파일은 add를 따로 해주어야 한다)

 

  • -am
git commit -am "커밋 메시지"

 

a, m 옵션을 합친형태이다.(파일을 스테이지에 올리고 커밋)

 

🖥️ 좋은 커밋 메시지 작성법

좋은 커밋 메시지를 작성하기 위해 사용하는 몇 가지 규칙이 있다.

 

⌨️ 커밋 유형 지정

  • feat : 새로운 기능을 추가할 경우
  • fix : 버그를 고친 경우
  • docs : 문서를 수정한 경우
  • style : 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
  • refactor : 프로덕션 코드 리팩토링
  • test: 테스트 추가, 테스트 리팩토링 (코드 변경 X)
  • chore : 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우 (코드 변경 X)

  • design : CSS 등 사용자 UI 디자인 변경
  • comment : 필요한 주석 추가 및 변경
  • rename : 파일 혹은 폴더명을 수정하는 경우
  • remove : 사용하지 않는 파일 혹은 폴더를 삭제하는 경우

⌨️ 제목과 본문을 빈 행으로 분리

여러 행으로 구성된 커밋 로그를 -m 스위치를 사용해서 입력하기는 어렵다. 적합한 편집기를 사용하여 편집을 진행하여야 한다.

 

에디터를 활용하여 깃 커밋 메시지를 작성하는 방법이다.

 

💾 깃 편집기 설정

커밋 할 때나 태그 메시지를 편집 할 때 설정한 편집기를 사용하는데 설정은 다음과 같다.

$ git config --global core.editor vim

vim 외에 사용하고 싶은 편집기의 이름을 입력하면 된다.

 

💾 템플릿 설정

커밋 템플릿 텍스트 파일을 설정하게 되면 일정한 스타일을 유지하는데 많은 도움이 된다.

 

  • 템플릿 파일 만들기
Capitalized, short (50 chars or less) summary    

More detailed explanatory text, if necessary. Wrap it to about 72 characters or so. In     
some contexts, the first line is treated as the subject of an email and the rest of the     
text as the body. The blank line separating the summary from the body is critical (unless     
you omit the body entirely); tools like rebase can get confused if you run the two together.    


Write your commit message in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug."    
This convention matches up with commit messages generated by commands like git merge and    
git revert.    


Further paragraphs come after blank lines.    


\- Bullet points are okay, too    


\- Typically a hyphen or asterisk is used for the bullet, followed by a single space, with     
blank lines in between, but conventions vary here    


\- Use a hanging indent    


If you use an issue tracker, add a reference(s) to them at the bottom, like so:    


Resolves: #123

 

  • 템플릿 파일 적용

템플릿 파일을 만들었으면 깃 설정에 적용 시킨다.

git config --global commit.template ./template.txt

 

💾 깃 커밋 메시지 작성

템플릿을 적용했다면 이제부턴 깃 커밋 메시지를 다음과 같이 입력하면 된다.

git commit -m ❌

git commit ⭕

옵션에서 -m을 빼고 커멘드를 입력하게 되면 해당 설정한 템플릿이 나오는데 알맞은 규칙으로 텍스트를 수정하면 된다.

 

⌨️ 제목 행을 50자로 제한

강제로 제한하는 것은 아니고 읽기 쉽고 간결하게 표현하기 위한 경험에 의한 규칙이다.

 

⌨️ 제목 행의 첫 글자는 대문자

커밋 메시지를 작성할 때 첫 글자는 대문자로 작성하는 것이 좋다.

git commit -m "Add file"

 

⌨️ 제목 행 끝에 마침표를 넣지 않는다.

제목 행의 끝에는 마침표가 필요 없다. 50자 규칙에 따르기 위해서라도 마침표를 넣는 것은 불필요한 공간 낭비이다.

 

⌨️ 팀에서 정한 commit 규칙을 따른다.

728x90

'👨‍💻 Git' 카테고리의 다른 글

git merge --no-ff, --ff, --squash, rebase  (0) 2024.02.20
Git Branch Strategy(깃 브랜치 전략)  (0) 2024.02.20