컨벤션
- 들어가며 이번 프로젝트 때 git 커밋 과정에서 협업을 위해서는 컨벤션을 지키는 게 서로에게 좋다. 라는 이야기를 들었다. 컨벤션이 뭐냐고 옆사람에게 조용히 물어보자 자기도 모르지만 못 물어보고 있다고 해서 끝나고 같이 물어봤다.
백엔드 메소드 컨벤션
- controller, service method name : create, get, update, delete
- Controller : 웹 MVC의 컨트롤러 역할
- Service : 핵심 비즈니스 로직 구현
- Repository : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
- Domain : 비즈니스 도메인 객체, (ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 I-one
- 메소드 순서는 crud (create (생성), Read (읽기), Update (갱신), Delete(삭제))
read의 경우 일반적인 조회 메소드를 우선
- IntelliJ 기준 naver 컨벤션을 이용한다. 개발바닥곰발바닥
변수명 컨벤션
Member member List
처음 시작할 때 할 것
(Corca-실무에서 사용되는 git flow 사용법)[https://medium.com/corca/%EC%8B%A4%EB%AC%B4%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%EB%90%98%EB%8A%94-git-flow-%EC%82%AC%EC%9A%A9%EB%B2%95-aka-app%EA%B0%9C%EB%B0%9C%EC%97%90-%EC%93%B0%EC%9D%B4%EB%8A%94-git-flow-%EB%B8%8C%EB%9E%9C%EC%B9%AD-%EC%A0%84%EB%9E%B5-9e860d7ce771]
- git clone 주소
- git flow init
- 설정 전부 엔터 눌러서 넘어가기
기능 파서 시작하기 (feature)
- develop branch에서 시작
- git pull (가장 최신 develop branch 받기) (ex) git pull origin develop
- git flow feature start {지라 티켓 번호 숫자}-{티켓 제목} -> (ex) git flow feature start 28-스키마-생성 -> feature/{티켓번호}-{티켓제목} 이런 형식으로 브랜치 자동 생성됨
- 작업 진행
- Commit
1 2 3 4 5 6 7 8
Feat: {제목} {본문} 티켓: {티켓번호} (ex) Feat: 스키마 생성 작성된 ERD를 베이스로 PostgreSQL에 스키마를 생성했습니다. 티켓: S11P12A603-28
- 완료 후 feature 브랜치에서 push 진행 git push origin feature/{티켓번호}-{티켓제목}
- MergeRequest 작성 a. 필히 담당자 지정 후 코드리뷰 받을 것
- 코드리뷰 받은 후 머지 진행
- 기존 feature 브랜치 삭제할 것
- 4~11 반복
릴리즈
커밋 컨벤션
컨벤션 커밋츠 1.0.0 커밋메시지 생성 CLI 툴 (Command line Interface 명령 줄 인터페이스 또는 명령어 인터페이스는 텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 의미)
OpenCommit : ai 를 활용하여 의미있는 커밋 메시지를 자동 생성하는 도구, 개발자들의 커밋 메시지 작성시간을 줄이고 일관성있는 커밋메시지를 유지하게 함
Ai-Commit : 메시지를 입력안해도 문구를 자동으로 생성해서 제안
브랜치 컨벤션
Git-flow 우아한기술블로그-나동호 git flow 를 git bash에서 지원하고 있음. 해어린-쉽게이해하는GitFlow
merge request convention
이슈 : jira 이슈 개요 : 간단한 설명 변경사항 : 실제 변경된 내용 정리 테스트 방법 : test 메소드, api 요청과 응답 등 세부사항 정리
예시
1
## 이슈
Jira 이슈 : S11P12A603-31
개요
이 Merge Request는 사용자 로그인 기능을 추가합니다.
변경 사항
- 로그인 API 엔드포인트 추가 (
/api/login
) - 사용자 인증을 위한 JWT 토큰 발급 기능 구현
- 로그인 관련 유닛 테스트 추가
- 로그인 화면 UI 업데이트
테스트 방법
- 백엔드 서버를 실행합니다.
- 다음 명령어로 로그인 API를 테스트합니다:
1
curl -X POST https://your-backend-url/api/login -d '{"username": "testuser", "password": "testpass"}'
브랜치 관련 명령어
- 새 브랜치 만들고 이동
1
2
bash코드 복사
git checkout -b 새브랜치이름
- 변경 사항 커밋
1
2
3
bash코드 복사
git add .
git commit -m '커밋 메시지'
- 새 브랜치를 원격 저장소에 푸시
1
2
bash코드 복사
git push origin 새브랜치이름
Pull Request(Merge Request) 생성 및 머지 GitHub, GitLab 등의 웹 인터페이스에서 새 브랜치에 대한 Pull Request(Merge Request)를 생성하고, [develop] 브랜치에 병합합니다.
로컬 브랜치로 돌아가기 및 업데이트
1
2
3
bash코드 복사
git checkout develop
git pull origin develop
- 로컬 브랜치 삭제
1
2
bash코드 복사
git branch -d 새브랜치이름
- 원격 브랜치 삭제
1
2
bash코드 복사
git push origin --delete 새브랜치이름
예제
- 새 브랜치 만들고 이동
1
2
bash코드 복사
git checkout -b feature/new-feature
- 변경 사항 커밋
1
2
3
bash코드 복사
git add .
git commit -m "Feat: Add new feature"
- 새 브랜치를 원격 저장소에 푸시
1
2
bash코드 복사
git push origin feature/new-feature
Pull Request(Merge Request) 생성 및 머지 GitHub, GitLab 등의 웹 인터페이스에서 [feature/new-feature] 브랜치에 대한 Pull Request(Merge Request)를 생성하고, [develop] 브랜치에 병합합니다.
로컬 브랜치로 돌아가기 및 업데이트
1
2
3
bash코드 복사
git checkout develop
git pull origin develop
- 로컬 브랜치 삭제
1
2
bash코드 복사
git branch -d feature/new-feature
- 원격 브랜치 삭제
1
git push origin --delete feature/new-feature