Git 사용법!
1.
새로운 기능 반드시 브랜치를 생성하고 해당 브랜치에서 작업해주세요!
2.
branch 이름은 Feat/기능명 으로 해주세요.
3.
dev에 add commit push 하지 않습니다.
git branch Feat/Profile // 브랜치 생성
git switch Feat/Profile // 브랜치 이동
// 또는
git checkout -b Feat/Profile // 새 브랜치 생성 및 생성한 브랜치로 이동
git branch // 현재 생성되어 있는 브랜치와 나의 브랜치 위지 정보 확인 가능
git status // 현재 브랜치 위치와 업데이트 상태, 커밋 사항 등을 제공 - 커밋 전 확인해주세요
Bash
복사
3.
PR 날리기 - 반드시 PR 전 main(저희의 경우 dev)에 업데이트가 있는지 확인하는 과정을 가집니다.
git checkout dev // dev 브랜치로 이동 => 내려받을것이 있는지 pull 해줍니다.
// 만약 업데이트가 있다면 작업하고있는 브랜치에 업데이트를 동기화 시켜줄 수 있습니다.
// 충돌할 수 있는 부분이 있다면 반드시 rebase 후 PR 해주세요.
git checkout Feat/Profile // 원래 작업하던 브랜치로 이동
git rebase dev // dev의 업데이트를 가져옵니다.
// 또는 작업 중인 브랜치에서 dev로 스위치 하지 않고 바로 pull, rebase 해올 수 있습니다.
git pull --rebase
// 최종 확인 후 add, commit => PR 보내기
git push origin Feat/Profile // 또는
git push --set-upstream origin Feat/Profile // 둘 다 가능합니다.
Bash
복사
4.
브랜치가 꼬이지 않게 PR 후 Merge되면 브랜치를 지워주세요!
5.
반드시 Merge가 완료 된 후 지워야하며 그렇지 않으면 PR이 close됩니다.
6.
삭제할 브랜치에서 dev 브랜치로 나온 후 삭제를 진행해주세요!
git branch -D Feat/Profile // 로컬에서 브랜치를 지웁니다.
git push origin :Feat/Profile // remote branch를 지웁니다.
Bash
복사
네이밍 규칙
폴더명 | - PascalCase |
파일명 | - REACT 컴포넌트 : PascalCase
- 이미지파일 : kebab-case
- JSX : PascalCase
- JS : camelCase
- 스타일드 컴포넌트 파일 : ~~Style.jsx |
변수명 | - 일반적인 변수, 함수 : camelCase
변수: ‘명사형'으로 작성. 무엇을 담고있는지 정확히 표현(예: numberOfPeople)
불린형 변수: is~~
함수 : ‘동사형'으로 작성. 무엇을 하는 함수인지 정확히 표현(예: getInputValue)
~Handler
- 상수 : PascalCase
- 생성자 함수, 클래스 : PascalCase
- 이미지 변수 : 파일명 그대로 쓰되 camelCase (예: iconHeart)
- 스타일드 컴포넌트 : [의미+Style]
(예: const ChatWrapStyle = styled.div``,
const EmailInputStyle = styled.input``) |
URL | - 소문자, 언더바 사용 (예: profile_edit) |
이슈 | - 이슈 [Feat] 팔로우 기능 추가
- PR/커밋메세지 Feat : 팔로우 기능 추가 |
•
JavaScript ES6+ 문법 사용
•
var 사용 금지
•
세미콜론 필수
•
작은 따옴표 사용
Git 커밋 컨벤션
1.
커밋은 논리적으로 구분이 되고, 일관성이 유지되는 단위로 최대한 작게 쪼개서 작성합니다
2.
제목은 50글자 이내
3.
커밋메세지는 무엇을 했는지 파악할 수 있게 자세히 작성
4.
어떻게 보다는 무엇과 왜를 설명하기.
5.
제목은 명령문O, 과거형 X
6.
제목의 끝에는 마침표를 넣지 않기
7.
한 개의 커밋에는 한 개의 기능/변경사항만 작성하도록 노력. 1커밋 1기능
8.
다음과 같이 영어 컨벤션(대문자) + 공백 + : + 공백 + 한글 커밋 메시지로 작성합니다.
Feat : 기능 추가 (브랜치 맨처음 커밋할때, 기능 추가할때)
Add : 코드 추가 (어떠한 기능 내에 기능을 더 추가할 때)
Modify : 코드 수정, 파일 삭제( 버그 수정, 코드 지우고, 추가하고, 수정하는 모든 과정들 )
Style : 컴포넌트 및 UI 구현 (스타일드 컴포넌트)
Delete : 코드 삭제 (코드만 지우는것)
Bash
복사
Git-flow
•
main / dev / feat 로 나눕니다
•
main은 최종 배포를 위한 브랜치입니다.
•
dev는 개발 진행을 위한 브랜치입니다.
•
feat는 기능을 개발하는 브랜치입니다.
•
dev브랜치에서 Feat/구현한기능로 브랜치를 생성하여 작업합니다.