1. Git

1.1. Rules

1.1.1. Git Flow

์ž‘์—… ์‹œ์ž‘ ์‹œ ์„ ํ–‰๋˜์–ด์•ผ ํ•  ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<aside> ๐ŸŽ„ 1. issue๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. 2. feature branch๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. 3. add โ†’ commit โ†’ push โ†’ pull request ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 4. pull request๋ฅผ develop branch๋กœ merge ํ•ฉ๋‹ˆ๋‹ค. 5. ์ด์ „์— merge๋œ ์ž‘์—…์ด ์žˆ์„ ๊ฒฝ์šฐ ๋‹ค๋ฅธ branch์—์„œ ์ง„ํ–‰ํ•˜๋˜ ์ž‘์—…์— merge๋œ ์ž‘์—…์„ pull ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค. 6. ์ข…๋ฃŒ๋œ issue์™€ pull request์˜ label์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

</aside>

1.1.2. IntelliJ

IntelliJ๋กœ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ, ์ž‘์—… ์‹œ์ž‘ ์‹œ ์„ ํ–‰๋˜์–ด์•ผ ํ•  ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<aside> ๐ŸŽ„ 1. ๊นƒํ—ˆ๋ธŒ ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ์—์„œ issue๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. 2. IntelliJ์˜ git ํƒญ โ†’ local develop branch ์šฐํด๋ฆญ โ†’ update๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 3. IntelliJ์˜ git ํƒญ โ†’ local develop branch ์šฐํด๋ฆญ โ†’ new branch from โ€˜developโ€™์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 4. ์ƒ์„ฑํ•œ issue ๋ฒˆํ˜ธ์— ๋งž๋Š” feature branch๋ฅผ ์ƒ์„ฑํ•จ๊ณผ ๋™์‹œ์— feature branch๋กœ checkout ํ•ฉ๋‹ˆ๋‹ค. 5. feature branch์—์„œ issue ๋‹จ์œ„ ์ž‘์—…์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 6. ์ž‘์—… ์™„๋ฃŒ ํ›„, add โ†’ commit์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 7. push ํ•˜๊ธฐ ์ „, remote develop branch์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด 2๋ฒˆ ๊ณผ์ •์„ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 8. IntelliJ์˜ git ํƒญ โ†’ local develop branch ์šฐํด๋ฆญ โ†’ merge โ€˜developโ€™ into โ€˜4๋ฒˆ ๊ณผ์ •์—์„œ ์ƒ์„ฑํ•œ feature branchโ€™๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 9. ๋งŒ์•ฝ ์ฝ”๋“œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์˜€๋‹ค๋ฉด, IntelliJ์—์„œ ์ฝ”๋“œ ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ•˜๊ณ  add โ†’ commit์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 10. push โ†’ pull request(feature branch โ†’ develop branch)๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 11. pull request๊ฐ€ ์ž‘์„ฑ๋˜๋ฉด ์ž‘์„ฑ์ž ์ด์™ธ์˜ ๋‹ค๋ฅธ ํŒ€์›์ด code review๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 12. ์ตœ์†Œ ํ•œ ๋ช… ์ด์ƒ์˜ ํŒ€์›์—๊ฒŒ code review์™€ approval์„ ๋ฐ›์€ ๊ฒฝ์šฐ pull request ์ƒ์„ฑ์ž๊ฐ€ merge๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 13. ์ข…๋ฃŒ๋œ issue์™€ pull request์˜ label๊ณผ milestone์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

</aside>

1.1.3. Etc

์ค€์ˆ˜ํ•ด์•ผ ํ•  ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<aside> ๐ŸŽ„ 1. develop branch์—์„œ์˜ ์ž‘์—…์€ ์›์น™์ ์œผ๋กœ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, README ์ž‘์„ฑ์€ develop branch์—์„œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 2. commit, push, merge, pull request ๋“ฑ ๋ชจ๋“  ์ž‘์—…์€ ์˜ค๋ฅ˜ ์—†์ด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์ง€ ํ™•์ธ ํ›„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

</aside>

1.2. Branch

branch์˜ naming rule์€ 1.2.1์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. branch๋Š” ์ž‘์—… ๋‹จ์œ„ & ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ์ƒ์„ฑํ•˜๋ฉฐ ์ด๋Š” issue๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

1.2.1. Branch Naming Rule

branch๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์ „ issue๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. issue ์ž‘์„ฑ ํ›„ ์ƒ์„ฑ๋˜๋Š” ๋ฒˆํ˜ธ๋กœ branch์˜ ์ด๋ฆ„์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.ย <Prefix>/<Issue_Number>ย ์˜ ์–‘์‹์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

1.2.2. Prefix