컨벤션(Convention)이란, 같이 작업을 하면서 통일성을 지키기 위해 정한 규약이다.
Git Commit Message Convention
출처: https://youngest-programming.tistory.com/550
1. [타입(type)]제목(title, subject)
2. 본문내용(body)
3.꼬리말(footer)
로 이루어진다.
1. [타입(type)]제목(title, subject)
먼저 타입이다.
이때까지 Github에서 본바로는 보통 사람들이 가장 많이 사용하는 커밋메시지 컨벤션 타입은 다음과 같다.
- feat: 새로운 기능 추가
- fix: 버그 픽스
- docs: 문서 수정
- style: 포맷, 세미콜론 수정, Optimize import, Code clean up 등 코드가 아닌 스타일에 관련된 수정
- refactor: 코드 리펙토링
- test: 테스트 코드 추가
- chore: 빌드 관련 업무 수정(안드로이드의 경우 builde.gradle, manifest)
참고:https://blog.ull.im/engineering/2019/03/10/logs-on-git.html
FIX -> 올바르지 않은 동작을 고친 경우에 사용합니다.
ADD -> 코드나 테스트, 예제, 문서 등의 추가 생성이 있을 때 사용합니다
REMOVE -> 코드의 삭제가 있을 때 사용합니다. ‘Clean’이나 ‘Eliminate’를 사용하기도 합니다.
IMPROVE -> 향상이 있을 때 사용합니다. 호환성, 테스트 커버리지, 성능, 검증 기능, 접근성 등 다양한 것들이 목적이 될 수 있습니다.
IMPLEMENT -> 코드가 추가된 정도보다 더 주목할 만한 구현체를 완성시켰을 때 사용합니다.
REFACTOR -> 코드 전면 수정이 있을 때 사용합니다.
MOVE -> 코드의 이동이 있을 때 사용합니다.
RENAME -> 이름 변경이 있을 때 사용합니다.
UPDATE -> 개정이나 버전 업데이트가 있을 때 사용합니다. 주로 코드보다는 주로 문서나 리소스, 라이브러리등에 사용합니다.
제목은 50자를 넘기지 않고 대문자로 시작하며 서술어가 아닌 명사로 끝나야한다. 또한 마지막에 .(쩜) 과 같은 마침표를 찍지 않는다.
2. 본문내용(body)
1번까지만 써도 충분해서 여기서부터는 작성이 선택사항이다.
72자를 넘기지 않고 1번과 한줄을 띄워서 작성한다.
어떻게 변경하였는지 보다 무엇을, 왜 변경하였는지 설명한다.
3. 꼬리말(footer)
마찬가지로 잘 작성하지 않으며 이슈 트랙킹을 위해 ID 등을 참조할 때 사용한다.
EX) #123, #이슈번호
Git Branch Naming Convention
Branch의 종류에 대한 설명은 다음을 참고 https://velog.io/@kim-jaemin420/Git-branch-naming
어떤 방식으로 브랜치의 이름을 정하는지 브랜치 종류에 따라 살펴보자.
1) master branch, develop branch
master와 develop 브랜치는 본래 이름 그대로 사용하는 경우가 일반적이다.
2) feature branch
- 어떤 이름도 가능하다. 단, master, develop, release-..., hotfix-... 같은 이름은 사용할 수 없다.
- feature/기능요약 형식을 추천한다. ex) feature/login
- feature/{issue-number}-{feature-name} 이슈추적을 사용한다면 이와 같은 형식을 따른다.
ex) feature/1-init-project, feature/2-build-gradle-script-write
3) release branch
- release-RB_... 또는 release-... 또는 release/...같은 이름이 일반적이다.
- release-... 형식을 추천한다. ex) release-1.2
4) hotfix branch
- hotfix-... 형식을 추천한다. ex) hotfix-1.2.1
Git repository naming convention
출처:https://github.com/jinseobhong/gitRepositoryNamingConvention
기본적인 명명 규칙(Default naming convention)
- Git 저장소 이름에 사용되는 Keyword는 의미론(Sementic)적으로 작성합니다.
- Git 저장소 이름에 사용되는 Keyword의 표기는 카멜(Camel) 표기법을 사용합니다.
- Git 저장소 이름 규칙(Naming convention)에 사용되는 고유 명사는 대문자로 표기합니다.
- Git 저장소 이름에 사용되는 Keyword 간의 구분은 '하이픈(-)'을 사용합니다.
- Git 저장소 이름 규칙(Naming convention)은 Proejct name-Project development enviroment-Project purpose 의 형태로 제안합니다.
- (선택 사항) Git 저장소 이름 규칙은 git repository라는 것을 나타내기 위해 git.으로 시작합니다.
이름(Name)
이 Keyword는 프로젝트의 이름을 나타내는 Keyword입니다.
- 웹 사이트의 경우 특별히 명명한 프로젝트 명이 없을 경우 도메인(Domaion) 자체가 프로젝트 명이 될 수 있습니다.
- http://domain.com ➔ domain.com
- http://sub.domain.com ➔ sub.domain.com
개발 환경(development enviroment)
이 Keyword는 프로젝트의 개발 환경을 나타내는 Keyword입니다.
- 개발 환경은 언어, 사용된 개발 도구, 운영 체제 등을 포함합니다.
- 특정 개발 환경에서만 프로젝트가 작동되는 경우 그 Keyword를 우선적으로 작성합니다.
이름(Name)설명(Description)
이름(Name) | 설명(Description) |
angular | Angular 어플리케이션 |
cpp | c++ 어플리케이션 |
dotnet | dotnet 어플리케이션 |
java | java 어플리케이션 |
javascript | javascript 어플리케이션 |
nodejs | nodejs 어플리케이션 |
windows | 윈도우에서 동작 |
linux-arm | linux ARM 버전에서 동작 |
jetson-tx-1 | tx-1 보드 위에서 동작 |
용도(Purpose)
이 Keyword는 프로젝트가 어떠한 용도로 사용되는 지를 나타내는 Keyword입니다.
이름(Name)설명(Description)
backend | 백엔드 |
cli | command-line user interface |
client | 클라이언트 |
core | 핵심 기능 |
documents | 문서 |
extention | 확장 기능 |
frontend | 프론트엔드 |
gui | graphical user interface |
interface | interface |
lib | 라이브러리 |
samples | 샘플 코드 |
sdk | Software Development Kit |
server | 서버 |
tools | 도구들 |
util | 도구들 |
... | 그 외 용도를 잘 설명하는 단어 |
'Git' 카테고리의 다른 글
Github 약어 (0) | 2022.01.19 |
---|---|
[Git] .gitignore (0) | 2022.01.17 |
Git Hub 그림 아이콘 (0) | 2022.01.11 |
Markdown 형식 (0) | 2022.01.06 |
Git 명령어 모음 (0) | 2022.01.06 |