Skip to content

Latest commit

ย 

History

History
28 lines (25 loc) ยท 3.16 KB

File metadata and controls

28 lines (25 loc) ยท 3.16 KB

Project Meat

Workflow

์ดˆ๊ธฐ ์„ค์ •

  1. git-hook ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ cloneํ•ฉ๋‹ˆ๋‹ค.
  2. ํ•ด๋‹น ํŒŒํŠธ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ cloneํ•ฉ๋‹ˆ๋‹ค. ํŒŒํŠธ๋ณ„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋Š” ๋ถ„์„๊ณผ ๊ฐœ๋ฐœ ๊ฐ๊ฐ project-meat-chatbot-ml๊ณผ project-meat-chatbot-be์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์œ ์˜์‚ฌํ•ญ์€, git-hook ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ํ•ด๋‹น ํŒŒํŠธ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ clone ๋ฐ›๊ฑฐ๋‚˜, ํ•ด๋‹น ํŒŒํŠธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์•ˆ์— git-hook ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ clone ๋ฐ›์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.
  3. clone ๋ฐ›์€ ํŒŒํŠธ๋ณ„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ master ๋ธŒ๋žœ์น˜์— README.md์™€ .gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ ํ›„ ์›๊ฒฉ์— pushํ•ฉ๋‹ˆ๋‹ค. 3์„ ์™„๋ฃŒํ•  ๊ฒฝ์šฐ base branch๊ฐ€ master๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
  4. ํŒŒํŠธ๋ณ„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ root (e.g. ~/project-meat-chatbot-be)์—์„œ cp ~/githook/utils . ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด utils ํŒŒ์ผ์„ ํŒŒํŠธ๋ณ„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ .gitignore ํŒŒ์ผ์— utils ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.
  5. utils ํŒŒ์ผ์˜ PROJECT_NAME ๊ฐ’์„ ํ”„๋กœ์ ํŠธ์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•ด์ค๋‹ˆ๋‹ค. e.g. ๋ถ„์„: ML, ๊ฐœ๋ฐœ BE
  6. source utils ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด ํ•„์š”ํ•œ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•ด์ค๋‹ˆ๋‹ค. ~/.bashr ๋˜๋Š” ~/.zshrc ํŒŒ์ผ์— ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์ €์žฅํ•ด๋‘˜ ๊ฒฝ์šฐ ๋งค๋ฒˆ 5๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.
  7. ํ”„๋กœ์ ํŠธ ์ตœ์ƒ์œ„ ํด๋”์—์„œ cp ../git-hook/prepare-commit-msg .git/hooks/. ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค. ๊ด€๋ จ ๊ธฐ๋Šฅ ๊ด€๋ จ ์ƒ์„ธํ•œ ์„ค๋ช…์€ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

์‹ ๊ทœ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ

  1. Github Projects์—์„œ ์‹ ๊ทœ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. [๊ถŒ์žฅ์‚ฌํ•ญ] utils ํŒŒ์ผ์˜ ISSUE_ID_SEQ ๋ณ€์ˆ˜ ๊ฐ’๊ณผ ์ด์Šˆ ๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. git checkout master ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด master ๋ธŒ๋žœ์น˜์— ์ด๋™ํ•œ ํ›„ git fetch -p๋กœ ์‹ ๊ทœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  4. git merge --ff-only origin/master๋ฅผ ํ†ตํ•ด HEAD๋ฅผ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  5. create_branch {simple branch description} ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‹ ๊ทœ ๋ธŒ๋žœ์น˜์— ์ฒดํฌ์•„์›ƒํ•ฉ๋‹ˆ๋‹ค.
  6. ํ•ด๋‹น ๋ธŒ๋žœ์น˜์—์„œ ์ปค๋ฐ‹ํ•  ๊ฒฝ์šฐ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— {PROJECT_NAME}-{ISSUE_ID_SEQ} ํ˜•ํƒœ๋กœ prefix๊ฐ€ ๋ถ™์Šต๋‹ˆ๋‹ค.
  7. ์œ„์˜ ๋‚ด์šฉ์€ git log ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  8. git push origin {new-branch} ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ์ƒˆ๋กœ์šด Pull Request๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Pull Request๋ฅผ ๋งŒ๋“  ํ›„ ์ •ํ•ด์ง„ ๊ทœ์น™ (e.g. 1 Approve ๋งŒ์กฑ ๋“ฑ)์„ ์ถฉ์กฑ์‹œํ‚ฌ ๊ฒฝ์šฐ base branch์ธ master์— mergeํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜๋ฅผ ์ž˜๋ชป ์ƒ์„ฑํ•  ๊ฒฝ์šฐ

  1. git branch -d {branch-to-delete} ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ž˜๋ชป ์ƒ์„ฑํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
  2. utils ํŒŒ์ผ์—์„œ ISSUE_ID_SEQ ๋ณ€์ˆ˜ ๊ฐ’์„ ์ด์ „์˜ ๊ฐ’์œผ๋กœ ์›์ƒ ๋ณต๊ท€์‹œ์ผœ์ค๋‹ˆ๋‹ค.
  3. create_branch {simple branch description} ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋‹ค์‹œ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

์œ ์˜ ์‚ฌํ•ญ

  • utils ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ git-hook ์›๊ฒฉ์— ์˜ฌ๋ฆฌ์‹œ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.