git-hook
레포지토리를clone
합니다.- 해당 파트의 레포지토리를
clone
합니다. 파트별 레포지토리는 분석과 개발 각각project-meat-chatbot-ml
과project-meat-chatbot-be
입니다. 이때 유의사항은,git-hook
디렉토리 안에 해당 파트의 레포지토리를clone
받거나, 해당 파트 레포지토리 안에git-hook
레포지토리를clone
받지 않아야 한다는 점입니다. clone
받은 파트별 레포지토리의master
브랜치에README.md
와.gitignore
파일을 생성한 후 원격에push
합니다. 3을 완료할 경우 base branch가master
로 설정됩니다.- 파트별 레포지토리의 root (e.g.
~/project-meat-chatbot-be
)에서cp ~/githook/utils .
명령어를 실행해utils
파일을 파트별 레포지토리로 복사합니다. 이때.gitignore
파일에utils
파일을 추가해줍니다. - utils 파일의
PROJECT_NAME
값을 프로젝트에 맞게 수정해줍니다. e.g. 분석:ML
, 개발BE
source utils
명령어를 실행해 필요한 변수와 함수를 선언해줍니다.~/.bashr
또는~/.zshrc
파일에 해당 명령어를 저장해둘 경우 매번 5를 실행하지 않아도 됩니다.- 프로젝트 최상위 폴더에서
cp ../git-hook/prepare-commit-msg .git/hooks/.
명령어를 실행해줍니다. 관련 기능 관련 상세한 설명은 링크를 참고해주세요.
- Github Projects에서 신규 이슈를 생성합니다.
- [권장사항]
utils
파일의ISSUE_ID_SEQ
변수 값과 이슈 번호가 일치하는지 확인합니다. git checkout master
명령어를 통해 master 브랜치에 이동한 후git fetch -p
로 신규 변경 사항을 원격으로부터 다운로드 받습니다.git merge --ff-only origin/master
를 통해 HEAD를 이동합니다.create_branch {simple branch description}
명령어를 통해 신규 브랜치에 체크아웃합니다.- 해당 브랜치에서 커밋할 경우 커밋 메시지에
{PROJECT_NAME}-{ISSUE_ID_SEQ}
형태로 prefix가 붙습니다. - 위의 내용은
git log
명령어를 통해 확인할 수 있습니다. git push origin {new-branch}
명령어를 실행하고 원격 저장소에서 새로운 Pull Request를 만들 수 있습니다. Pull Request를 만든 후 정해진 규칙 (e.g. 1 Approve 만족 등)을 충족시킬 경우 base branch인 master에merge
합니다.
git branch -d {branch-to-delete}
명령어를 통해 잘못 생성한 브랜치를 삭제합니다.utils
파일에서ISSUE_ID_SEQ
변수 값을 이전의 값으로 원상 복귀시켜줍니다.create_branch {simple branch description}
명령어를 통해 다시 브랜치를 만들어 줍니다.
utils
파일의 변경사항을git-hook
원격에 올리시면 안 됩니다.