[CS] Git 메시지 컨벤션

limlim·2023년 5월 18일
0

CS

목록 보기
13/15

개요

  • 평소에 Git을 사용하면서 커밋 메시지를 사용하지만 중구난방으로 사용했던 것 같다. 그래서 이번 기회에 Git 커밋 메시지를 어떻게 작성하면 좋을지 살펴보면서 다음에 프로젝트를 할 때 적용해봐야겠다.
  1. Git 커밋 메시지 컨벤션이란?
  • 프로젝트 참여자들이 일관된 형식의 커밋 메시지를 작성하기 위한 규칙을 말하며, 간단히 줄여 Git 커밋 컨벤션이라고도 함

  • 현재 여러 개발자들 사이에서 관습적으로 통용되는 가이드라인이 있지만, 각 프로젝트에 따라서 별도의 규칙을 만들어 적용하기도 함

  1. Git 커밋 컨벤션을 지켜야 하는 이유

1) 가독성 및 커뮤니케이션 효율성 제고

2) 변경 이력 추적 및 문제 해결 속도 향상

  1. Git 커밋 메시지 작성법

1) 기본 포맷

### Git 커밋 메시지 컨벤션 ###

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

// 여기서 <type>은 변경 사항의 유형 중 하나 (feat, fix, docs, style, refactor, test, chore등)

// <description>에는 변경 작업의 제목이나 간단한 요약 작성

// <body>는 선택사항으로서 작업 내용이 복잡하거나 상세한 내용을 남겨야 하는 경우에만 작성

// <footer> 역시 선택사항으로서 코드 작업과 관련된 이슈 번호 또는 참조 링크 등 추가

2) Git 커밋 메시지 작성 예시

feat: 사용자 프로필 페이지 추가

- 사용자 프로필 페이지 및 라우팅 구현
- 프로필 정보를 보여주는 프로필 카드 컴포넌트 구현
-프로필 수정 기능 구현

Closes #123
  1. Git 커밋 메시지 수정 방법

1) 커밋을 Push 하기 전인 경우

  • git commit -amend 명령어를 입력하여 가장 최근에 만든 커밋 메시지 수정 가능

    (수정 완료한 뒤에는 :wq로 저장해줘야함)

  • 만약 수정해야 하는 Git 커밋 메시지가 가장 최근 커밋이 아닌 경우에는 git rebase -i HEAD~숫자를 입력하여 수정할 커밋 메시지 선택 가능

2) 커밋을 Push 한 경우

  • 커밋을 push 한 후에는 커밋 메시지를 수정하는 것을 권장하지 않음

    (다른 개발자들이 해당 변경사항을 이미 pull 받았을 수 있기 때문)

  • But, 그럼에도 불구하고 반드시 수정해야 하는 경우라면 앞서 설명한 방법으로 커밋 메시지를 수정 후 git push --force를 입력하면 됨

  1. Git 커밋 메시지 자동화 방안

1) Git 커밋 메시지 템플릿 설정

  • 기본 구조가 적힌 템플릿 파일(ex.git_commit_template.txt)을 생성한 후, git config commit.template 명령어로 해당 템플릿 파일을 config에 등록하면 됨

2) Git 커밋 메시지 자동화 툴

  • 대표적으로 Git 커밋 메시지를 검사하여 컨벤션을 따르는지 확인해 주는 Commitlint, Git 훅(hook)을 설정하여 커밋 및 푸시 전에 자동화된 작업을 설정할 수 있는 Husky와 같은 도구들이 있음
  1. 정리
  • 협업할 때나 혼자 작업할 때 항상 느꼈지만 Git 커밋 메시지는 중요한 것 같다. 나중에 코드를 찾아볼 때 어떤 부분을 수정했는지 등을 확인할 수 있기 때문이다.

  • 그래서 나도 나름대로 Git 커밋 메시지를 통일시켜서 작성하고 있지만, 가독성이 더 좋게 하기 위해 다른 방식도 사용해봐야겠다.

참고자료: https://yozm.wishket.com/magazine/detail/1974/

profile
不怕慢,只怕站 개발자

0개의 댓글