Skip to content
KIM MIN JEONG edited this page Mar 25, 2022 · 1 revision

Commit

  • ์ปค๋ฐ‹ ์‹œ ์ตœ์†Œ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์„œ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ˆ˜์ •์‚ฌํ•ญ์ด ํ•œ ์ปค๋ฐ‹์— ๋‹ด๊ธฐ์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณดํŽธ์ ์ธ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜์— ๋งž๋„๋ก ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. (search keyword: ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜)
  • ์˜๋ฏธ์—†๋Š” ์ปค๋ฐ‹ ํ˜น์€ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ์•„๋“ค์„ ์ˆ˜ ์—†๋Š” ์ปค๋ฐ‹์€ ์ ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Branch

  • main : ์‹ค์ œ ๋ฐฐํฌ์ค‘์ธ ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค. develop ๋ธŒ๋žœ์น˜๊ฐ€ ์„œ๋น„์Šค ๊ฐ€๋Šฅํ•œ ๋ ˆ๋ฒจ์— ๋„๋‹ฌํ–ˆ์„๋•Œ main์— ๋จธ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • develop : ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ค‘ ๋ณ‘ํ•ฉ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • feature : ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์‹œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์Šˆ ๋„˜๋ฒ„๋ฅผ ํŠธ๋ž˜ํ‚นํ•˜์—ฌ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ex) feature/{issue-number}_{feature-name} ๋งŒ์•ฝ ํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž‘์€ ์ด์Šˆ๊ฐ€ ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด feature/{main-issue} ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑ ํ›„, feature/{main-issue}/{issue-number}_{sub-issue} ๋ธŒ๋žœ์น˜์—์„œ ๊ฐœ๋ฐœ ํ•œ ํ›„ feature/{main-issue} ์— Pr์„ ์˜ฌ๋ ค ๋ณ‘ํ•ฉํ•˜๋ฉฐ, ์ดํ›„ main issue๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์„ ๋•Œ develop ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ํ•œ sub issue์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ๋ช…์ด ์ž‘์—…์„ ๋™์‹œ์— ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • bug : ๋ฒ„๊ทธ ์ˆ˜์ •์‹œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์Šˆ ๋„˜๋ฒ„๋ฅผ ํŠธ๋ž˜ํ‚นํ•˜์—ฌ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ex) bug/{issue-number}_{name}
  • hotfix : ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ์˜ค๋ฅ˜ ์ˆ˜์ • ์‹œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. pr์—์„œ 1๋ช…๋งŒ approve ํ•ด๋„ ๋ฐ”๋กœ ๋จธ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ์‹œ ์ค‘๋ณต๋˜๋Š” ์ปค๋ฐ‹์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • ํ•œ ๋ธŒ๋žœ์น˜์—์„œ๋Š” ํ•œ ๊ธฐ๋Šฅ๋งŒ ๊ฐœ๋ฐœํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์ค‘๋ณต ๋  ๊ฒฝ์šฐ ํ•ด๋‹น ๋ธŒ๋žœ์น˜์˜ ๋ชฉ์ ์„ฑ์ด ํ๋ ค์ง‘๋‹ˆ๋‹ค.

Pull request

  • assignee์™€ reviewer๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•  ๊ฒฝ์šฐ In review ๋ผ๋ฒจ์„ ๋‹ฌ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ผ๋ฒจ์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. (๋ผ๋ฒจ์„ ์—ฌ๋Ÿฌ๊ฐœ ์ถ”๊ฐ€ํ•ด ๋†“์„ํ…Œ๋‹ˆ ์ž์„ธํ•œ ๋ผ๋ฒจ ์„ค๋ช…์„ ์ฝ์–ด์ฃผ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.)
  • ํ•˜๋‚˜์˜ pr์€ ํ•˜๋‚˜์˜ ์ด์Šˆ๋งŒ ๋‹ด๋‹นํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. (์œ„์˜ ๋ธŒ๋žœ์น˜์—์„œ์˜ ๋ชฉ์ ๊ณผ ๋™์ผ)
  • ๋งŒ์•ฝ main issue - sub issue ๋กœ ์ด๋ฃจ์–ด ์ง„ ๋ธŒ๋žœ์น˜๋ผ๋ฉด base ๋ธŒ๋žœ์น˜๋ฅผ feature/{main-issue} ๋กœ ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ํ•ด๋‹น pr์ด ๋จธ์ง€๋˜๊ณ  ๋‚œ ํ›„ base ๋ธŒ๋žœ์น˜(feature/{main-issue}์˜ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด, ์ดํ›„ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ develop์— ๋จธ์ง€ํ•ด์•ผ ํ•จ์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. (๋ผ๋ฒจ๋กœ ํ‘œํ˜„ํ•ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค.) ๐Ÿ“Œ
  • pr์„ ์˜ฌ๋ฆฐ ๋ธŒ๋žœ์น˜๋ฅผ ์ˆ˜์ •์ค‘์ด๋ผ๋ฉด ์ƒํƒœ๋ฅผ ๋ช…์‹œํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. (developing ๋ผ๋ฒจ)
  • 2๋ช…์˜ approve๋ฅผ ๋ฐ›์„์‹œ์— ํ•ด๋‹น base branch์— Merge ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋ณธ์ธ์ด ๋ฆฌ๋ทฐ์–ด์ผ๋•Œ, ๋‚ด ๋ฆฌ๋ทฐ๋กœ ์ธํ•ด ๊ธฐ์ค€์ด ํ†ต๊ณผ๋˜๋Š” ๊ฒฝ์šฐ, merge needed ๋ผ๋ฒจ์„ ๋‹ฌ์•„์„œ ํ‘œํ˜„ํ•ด์ฃผ๋„๋ก ํ•ฉ์‹œ๋‹ค.)
  • ๋‹จ hotfix ๋ธŒ๋žœ์น˜๋Š” 1๋ช…์œผ๋กœ๋„ merge ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • Merge๋Š” ํ•ด๋‹น pr์˜ assignee๊ฐ€ ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๐Ÿ“Œ ํ•ญ๋ชฉ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด base ๋ธŒ๋žœ์น˜๋ฅผ develop์— ๋จธ์ง€ํ•˜๋Š” ์ž‘์—…๋„ ๊ฐ™์ด ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฆฌ๋ทฐ๊ฐ€ ๋‹ฌ๋ฆฐ ํ›„ ๋ฆฌ๋ทฐ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜์—ฌ ์ˆ˜์ •ํ–ˆ๋‹ค๋ฉด, ํ•ด๋‹น comment์— ์ˆ˜์ •์‚ฌํ•ญ์ด ๋ฐ˜์˜๋œ ์ปค๋ฐ‹ id๋ฅผ ๋‚จ๊ฒจ์ค๋‹ˆ๋‹ค. (๊ทธ๋ƒฅ ํ•ด๋‹น ์ปค๋ฐ‹ id๋งŒ ๋Œ“๊ธ€๋กœ ์น˜๋ฉด ์•Œ์•„์„œ ๋งํฌ๋กœ ๋‹ฌ๋ฆฝ๋‹ˆ๋‹ค.)
  • ๋ฆฌ๋ทฐ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜์—ฌ ์ˆ˜์ •ํ•˜์˜€๋‹ค๋ฉด, ๋‹ค์‹œ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋ผ๋ฒจ์€ Inreivew๋กœ ๋ณ€๊ฒฝ.

๋‚ด๊ฐ€ ๋ฆฌ๋ทฐ์–ด๋ผ๋ฉด

  • ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ line์„ ์ž˜ ์„ ํƒํ•˜์—ฌ ๋‹ฌ์•„์ค๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ๋•Œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‚ญ์ œ๋  ๋ถ€๋ถ„์— ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ๊ฒŒ๋˜๋ฉด, outdate ๋ผ๋Š” ๋ผ๋ฒจ์ด comment์— ๋ถ™๊ฒŒ ๋œ๋‹ต๋‹ˆ๋‹ค

โ— ๋จธ์ง€ํ•  ๋•Œ

https://user-images.githubusercontent.com/55120738/155202202-675119e1-711a-46a4-a159-1dbe99023e8d.png

๊ทธ๋ƒฅ ๋จธ์ง€ ๋ฒ„ํŠผ ๋ˆ„๋ฅด์ง€ ๋ง๊ณ  ์˜ต์…˜์„ ์„ ํƒํ•ฉ์‹œ๋‹ค.

  1. develop(or stage) โ†’ main : create a merge commit ์˜ต์…˜ ์‚ฌ์šฉ : merge commit์ด ๋‚จ๋Š”๋‹ค. main ๋ธŒ๋žœ์น˜์—๋Š” merge ์‹œ์ ์ด ํ•„์š”ํ•˜๋‹ˆ ํ•ด๋‹น ์ „๋žต์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ์กด์—๋Š” ์ด ์ „๋žต์„ ๋ชจ๋“  ๋ธŒ๋žœ์น˜์— ์‚ฌ์šฉํ•ด์„œ ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ ๊ณณ๊ณณ์— ๋จธ์ง€ ์ปค๋ฐ‹์ด ์ž์ฃผ ๋‚˜ํƒ€๋‚ฌ๋‹ค.
  2. feat or fix โ†’ develop: squash and merge ์˜ต์…˜ ์‚ฌ์šฉ : PR์˜ ์ปค๋ฐ‹ ๋กœ๊ทธ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค. ์›์ž์ ์ธ ์ปค๋ฐ‹ ๋˜๋Š” PR ๊ธฐ๋Šฅ๊ณผ ์ „ํ˜€ ์ƒ๊ด€ ์—†๋Š” ์ปค๋ฐ‹ ๋กœ๊ทธ(ex. ์ฝ˜์†” ๋กœ๊ทธ ์ œ๊ฑฐ)๋ฅผ ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์„œ ์˜๋ฏธ ์žˆ๋Š” ์ปค๋ฐ‹ ๋กœ๊ทธ๋งŒ ๋‚จ๊ธด๋‹ค. PR ์ œ๋ชฉ์ด ์ปค๋ฐ‹ ๋กœ๊ทธ๊ฐ€ ๋œ๋‹ค.
  3. develop โ†’ feat or fix: rebase and merge ์˜ต์…˜ ์‚ฌ์šฉ : merge commit์ด ๋‚จ์ง€ ์•Š๋Š”๋‹ค. develop ๋ธŒ๋žœ์น˜๋ฅผ ๋‚ด ๋ธŒ๋žœ์น˜๋กœ pullํ•  ๋•Œ ์‚ฌ์šฉํ•ด ์“ธ๋ฐ ์—†๋Š” merge commit์„ ๋‚จ๊ธฐ์ง€ ์•Š๋Š”๋‹ค. ์ฃผ๋กœ ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ develop์ด ์—…๋ฐ์ดํŠธ ๋˜๋ฉด ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ•ด๋‹น ๋ธŒ๋žœ์น˜์—์„œ git rebase develop ์ด๋Ÿฐ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋จ. ์ด ๊ฒฝ์šฐ๋Š” PR X

์ถœ์ฒ˜