Git

Git Convention

내가갈게하와이 2022. 1. 3. 21:54

컨벤션(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)

  1. Git 저장소 이름에 사용되는 Keyword는 의미론(Sementic)적으로 작성합니다.
  2. Git 저장소 이름에 사용되는 Keyword의 표기는 카멜(Camel) 표기법을 사용합니다.
  3. Git 저장소 이름 규칙(Naming convention)에 사용되는 고유 명사는 대문자로 표기합니다.
  4. Git 저장소 이름에 사용되는 Keyword 간의 구분은 '하이픈(-)'을 사용합니다.
  5. Git 저장소 이름 규칙(Naming convention)은 Proejct name-Project development enviroment-Project purpose 의 형태로 제안합니다.
  6. (선택 사항) Git 저장소 이름 규칙은 git repository라는 것을 나타내기 위해 git.으로 시작합니다.

이름(Name)

이 Keyword는 프로젝트의 이름을 나타내는 Keyword입니다.

  • 웹 사이트의 경우 특별히 명명한 프로젝트 명이 없을 경우 도메인(Domaion) 자체가 프로젝트 명이 될 수 있습니다.

개발 환경(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