Git & Github - commit convention

박정호·2022년 11월 3일
0

git + GitHub

목록 보기
3/3
post-thumbnail

Convention

git에 커밋을 할때는 커밋 메시지가 중요하다. 커밋 메시지를 작성할 때는 원칙을 정하고 일관성 있게 작성해야 한다.

기본적으로 커밋 메시지는 제목, 본문, 꼬리말로 구성

커밋 타입 종류

제목(Subject) 설정

  • 제목은 50자를 넘기지 않기
  • 마침표를 붙이지 않기
  • 과거시제를 사용하지 않기
  • 명령어로 작성하기
  • 간결하고 요점적으로 작성하기
  • 첫글자는 대문자로 작성하기

본문(Body) 설정

  • 부연설명이 필요하거나 커밋의 이유를 설명할 경우 작성하기
  • 제목과 구분되기 위해 한칸 띄우기
  • 선택사항

꼬리말(Footer) 설정

  • 이슈 트래커 id 작성할 때 사용하기
  • 선택사항

Commit Template 만들기

✅ 커밋은 주기적으로 하는 만큼 템플릿을 작성해놓고 간편하게 커밋해보자!!

1️⃣ gitmessage 설정하기

  • 터미널에 진입하여 아래 커맨드를 입력. 이는 gitmessage 템플릿을 위한 txt파일을 만드는 과정.
$ touch ~/.gitmessage.txt

2️⃣ 텍스트 에디터 진입하기

$ vim ~/.gitmessage.txt

3️⃣ 커밋 메세지 템플릿 작성 후 저장하기

### 제목
# 커밋 타입: 작업내용 (제목과 본문은 한 줄 띄워주세요)


### 본문 - 한 줄에 최대 72 글자까지만 입력하기  
# 무엇을, 왜, 어떻게 했는지


# 꼬리말
# (선택) 이슈번호 작성

#   [커밋 타입]  리스트
#   feat      : 기능 (새로운 기능)
#   fix       : 버그 (버그 수정)
#   design    : CSS 등 사용자 UI 디자인 변경
#   refactor  : 리팩토링
#   style     : 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없음)
#   docs      : 문서 (문서 추가, 수정, 삭제)
#   test      : 테스트 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없음)
#   chore     : 기타 변경사항 (빌드 스크립트 수정 등)
#   post      : 블로그 포스트 추가 (신규 포스트 작성 및 수정)
#   rename    : 파일 혹은 폴더명을 수정하거나 옮기는 작업만 하는 경우
#   remove    : 파일을 삭제하는 작업만 수행한 경우
# ------------------
#   [체크리스트]
#     제목 첫 글자는 대문자로 작성했나요?
#     제목은 명령문으로 작성했나요?
#     제목 끝에 마침표(.) 금지
#     제목과 본문을 한 줄 띄워 분리하기
#     본문에 여러줄의 메시지를 작성할 땐 "-"로 구분했나요?
# ------------------

4️⃣ 글로벌에 설정 저장하기

$ git config --global commit.template ~/.gitmessage.txt

만약 글로벌 설정을 지우고 싶다면?

1️⃣ 현재 나의 git 설정 확인

$ git config --list

2️⃣ 재설정하고자 하는 항목 삭제

git config --global --unset commit.template

정리

가장 많이 사용되는 명령어들을 중심으로 상황에 따라 사용하자!

파일 상태 확인하기

  • git status를 사용하면 현재 어떤 파일이 수정되었고, 아직 staged되지 않았으므로 add를 통해 추가하라는 표시를 확인할 수 있다.

파일 스테이징하기

git add [파일명(경로포함)] // 특정 파일
git add .    // 파일 전체

💡 만약 파일 스테이징을 취소하고 싶다면?

git reset HEAD  // 파일 전체
git reset HEAD [파일명(경로포함)]  // 특정 파일

커밋하기

  • git commit 입력시 커밋 템플릿이 뜨면 해당 원칙에 따라 작성한다.

푸쉬하기

git push --set-upstream 브랜치명
git push

출처 및 참고하기 좋은 사이트

https://blog.appkr.dev/learn-n-think/comparing-workflows/

https://gmlwjd9405.github.io/2018/05/11/types-of-git-branch.html

profile
기록하여 기억하고, 계획하여 실천하자. will be a FE developer (HOME버튼을 클릭하여 Notion으로 놀러오세요!)

0개의 댓글

관련 채용 정보