diff --git a/README.md b/README.md index 601e962..fe32feb 100644 Binary files a/README.md and b/README.md differ diff --git a/docs/Branch strategy and pull-request.md b/docs/Branch strategy and pull-request.md new file mode 100644 index 0000000..8c8f1b3 --- /dev/null +++ b/docs/Branch strategy and pull-request.md @@ -0,0 +1,213 @@ +# `브랜치 전략과 풀 리퀘스트` + + +## 브랜치 전략 + +먼저 코드의 충돌나는 상황을 최대한 적게 하고 프로젝트를 배포할 때 수월하게 하기 위해서는 브랜치 관리를 잘하는 것이 중요합니다. + +따라서 아래와 같이 브랜치를 관리하려고 합니다. + +
+ +### `main 브랜치` + +- develop 브랜치에서 배포할 수 있을 정도로 구현된 것을 Merge를 하는 브랜치입니다. + +
+ +### `develop 브랜치` + +- 기능 개발과 버그 수정의 브랜치 Merge가 자주 일어나는 브랜치입니다. 한마디로 개발이 활발하게 일어나는 브랜치입니다. +- 되도록이면 개발을 할 때 develop 브랜치에서 새로운 브랜치를 생성합니다. + + +
+ +### `feat(Label)/#이슈번호` + + +- 본인이 이슈를 만들었던(기능) 것에 대한 기능을 개발하는 브랜치입니다. 기능이 완벽하게 구현이 되었다면 develop 브랜치에 Pull Request를 보낸 후에 Merge를 하면 됩니다. + + ex) feature/#1 + +
+ +## Flow + + + +## PR 규칙 + + + +--- + +## Commit Message + +**태그이름은 모두 소문자로 쓰고 아래 9개 중 하나로 쓰기** + +커밋은 최대한 + +| feat: #{$이슈번호} | 새로운 기능 추가한 경우 | +| --- | --- | +| fix: #{$이슈번호} | 오류를 해결한 경우 | +| design: #{$이슈번호} | CSS등 UI변경한 경우 | +| style: #{$이슈번호} | 코드 포맷 변경, 세미콜론 누락, 코드 수정이 없는 경우 | +| refactor: #{$이슈번호} | 코드의 리팩토링 | +| docs: #{$이슈번호} | 문서와 관련하여 수정한 경우 | +| test: #{$이슈번호} | test를 추가하거나 수정했을 경우 | +| chore: #{$이슈번호} | build와 관련된 부분, 패키지 매니저 설정 등. 초기 설정도 여기에 포함 | +| rename: #{$이슈번호} | 폴더 이름, 경로 변경한 경우 | +| merge: #{$이슈번호} | 충돌 해결시 작성하는 커밋 메시지 | +- ISSUE 템플릿 + - error + + ```markdown + --- + name: 오류 수정 + about: 오류 설명 및 수정 + title: "[fix]" + labels: "오류수정" + assignees: 'username' + + --- + + ## 🤔 오류 내용 + 에러로그 함께 입력 +
+ + ## ⚠ 에러 캡쳐 + +
+ ``` + + - feature + + ```markdown + ## ✨ 구현 할 기능 + - [ ] + - [ ] + - [ ] + +
+ + ### 📕 레퍼런스 + ``` + + - refactor + + ```markdown + --- + name: 리팩토링 + about: 클린코드, 디렉토리 구조 변경 + title: "[refactor]" + labels: "리팩토링" + assignees: 'username' + + --- + + ## ✨ 리팩토링 할 부분 + +
+ ``` + + - setting + + ```markdown + --- + name: 환경 설정 + about: 개발 환경 세팅 + title: "[chore]" + labels: "환경설정" + assignees: 'username' + + --- + + ## ✨ 세팅할 환경 + +
+ + ### 📕 레퍼런스 + ``` + +- PR 템플릿 + + ```markdown + ## 📢 기능 설명 + 필요시 실행결과 스크린샷 첨부 +
+ + ## 연결된 issue + 연결된 issue를 자동을 닫기 위해 아래 {이슈넘버}를 입력해주세요.
+ close #{이슈넘버} +
+ + ## ✅ 체크리스트 + - [ ] PR 제목 규칙 잘 지켰는가? + - [ ] 추가/수정사항을 설명하였는가? + - [ ] 이슈넘버를 적었는가? + ``` + + +--- + +## 주의 사항 + +**커밋은 나누어 진행하기** + +예를 들자면, + +`feat: 로그인 페이지 추가 && fix: 로그인 페이지 오류 수정` + +이렇듯 메세지에 다른 내용을 한번에 커밋할 수 있는데, 이는 롤백할 때나 커밋 히스토리 확인할 때 불편할 수 있기 때문에 아래 예시처럼 진행 + +ex) + +```bash +git add { 로그인 페이지 추가에 관한 파일 스테이징 } +git commit -m "feat: #{$이슈번호} 로그인 페이지 추가" +git add { 로그인 페이지 오류 수정에 관한 파일 스테이징 } +git commit -m "fix: #{$이슈번호} 로그인 페이지 오류 수정" +``` + +위 예시처럼 각각 스테이징 및 커밋 + +📕레퍼런스 + +--- + +[코드리뷰가 쏘아올린 작은공 | 우아한형제들 기술블로그](https://techblog.woowahan.com/2712/) + +[우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그](https://techblog.woowahan.com/2553/) \ No newline at end of file diff --git a/docs/Code Convention.md b/docs/Code Convention.md new file mode 100644 index 0000000..c67f213 --- /dev/null +++ b/docs/Code Convention.md @@ -0,0 +1,208 @@ +# `코드 컨벤션` + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file