Skip to content

Latest commit

ย 

History

History
242 lines (185 loc) ยท 17.5 KB

git.md

File metadata and controls

242 lines (185 loc) ยท 17.5 KB

Git

1. Git ๊ทœ์น™

Git์—๋Š” ๋ช…์‹ฌํ•ด์•ผํ•  ๊ทœ์น™๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • feature ๋ธŒ๋žœ์น˜(branch)์—์„œ ์ž‘์—…ํ•˜์„ธ์š”.

    ์ด์œ :

    ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ์ž‘์—…์€ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜ ๋Œ€์‹ ์— ๊ฒฉ๋ฆฌ๋œ ๋ณ„๋„์˜ ๋ธŒ๋žœ์น˜์—์„œ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ˜ผ๋ž€ ์—†์ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ(Pull Request)๋ฅผ ์ œ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ž ์žฌ์ ์œผ๋กœ ๋ถˆ์•ˆ์ •ํ•œ, ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๋กœ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋ฅผ ์˜ค์—ผ์‹œํ‚ค์ง€ ์•Š๊ณ , ์ž‘์—…์„ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์•Œ์•„๋ณด๊ธฐ

  • develop์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“œ์„ธ์š”.

    ์ด์œ :

    ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด, ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์˜ ์ฝ”๋“œ๋ฅผ ํ•ญ์ƒ ๊ฑฐ์˜ ๋ฌธ์ œ์—†์ด ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๊ณ , ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ์œ„ํ•ด์„œ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค (์ผ๋ถ€ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๊ณผํ•  ์ˆ˜๋„ ์žˆ์Œ).

  • develop๊ณผ master์— ์ง์ ‘ ํ‘ธ์‹œํ•˜์ง€ ์•Š๊ณ , ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋งŒ๋“œ์„ธ์š”.

    ์ด์œ :

    ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์™„๋ฃŒํ•œ ๊ฒƒ์„ ๋‹ค๋ฅธ ํŒ€ ๋ฉค๋ฒ„๋“ค์—๊ฒŒ ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ๋˜ํ•œ ์‰ฌ์šด ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ€๋Šฅ์ผ€ ํ•˜๋ฉฐ, ์ œ์•ˆ๋œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ํ† ๋ก ํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋Ÿผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐœ๋ฐœํ•œ ๊ธฐ๋Šฅ์„ ํ‘ธ์‹œํ•˜๊ณ  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์—, ๋กœ์ปฌ develop ๋ธŒ๋žœ์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•œ ๋ฆฌ๋ฒ ์ด์Šค(rebase)๋ฅผ ์ง„ํ–‰ํ•˜์„ธ์š”.

    ์ด์œ :

    ๋ฆฌ๋ฒ ์ด์Šค๋Š” ์š”์ฒญํ•œ ๋ธŒ๋žœ์น˜(master ํ˜น์€ develop)์„ ๋ณ‘ํ•ฉ(merge)ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ณ‘ํ•ฉ ์ปค๋ฐ‹์„ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ฉด์„œ ๋กœ์ปฌ์—์„œ ๋งŒ๋“  ์ปค๋ฐ‹๋“ค์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค (์ถฉ๋Œ์ด ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค๋ฉด). ๊ฒฐ๊ตญ ๊นจ๋—ํ•œ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋‚จ๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋” ์•Œ์•„๋ณด๊ธฐ

  • ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ๋ฆฌ๋ฒ ์ด์Šคํ•˜๋Š” ๋™์•ˆ ์ž ์žฌ์ ์ธ ์ถฉ๋Œ์„ ์ œ๊ฑฐํ•˜์„ธ์š”.

  • ๋ณ‘ํ•ฉ ํ›„, ๋กœ์ปฌ๊ณผ ์›๊ฒฉ์— ์žˆ๋Š” feature ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•˜์„ธ์š”.

    ์ด์œ :

    ์ด ๋ฐฉ๋ฒ•์€ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ธŒ๋žœ์น˜๋“ค๋กœ๋ถ€ํ„ฐ ๋ธŒ๋žœ์น˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ฆฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ธŒ๋žœ์น˜๊ฐ€ master ๋˜๋Š” develop์œผ๋กœ ๋ณ‘ํ•ฉ๋˜๋Š” ๊ฒƒ์„ ๋‹จ ํ•œ ๋ฒˆ์œผ๋กœ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. feature ๋ธŒ๋žœ์น˜๋Š” ์ž‘์—…์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š” ๋„์ค‘์—๋งŒ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์ „์—, feature ๋ธŒ๋žœ์น˜๋Š” ์ž˜ ๋นŒ๋“œ๋˜๋Š”์ง€, ์ฝ”๋“œ ์Šคํƒ€์ผ ์ฒดํฌ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ง€ ๊ฒ€์ฆํ•˜์„ธ์š”.

    ์ด์œ :

    ์•ˆ์ •์ ์ธ ๋ธŒ๋žœ์น˜์— ์ฝ”๋“œ๋ฅผ ์ƒˆ๋กœ ํ‘ธ์‹œํ•˜๋ ค ํ•  ๋•Œ, ๋งŒ์•ฝ feature ๋ธŒ๋žœ์น˜์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•œ๋‹ค๋ฉด, ๋ชฉํ‘œํ•œ ๋ธŒ๋žœ์น˜์˜ ๋นŒ๋“œ๋„ ์‹คํŒจํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ์ฝ”๋“œ ์Šคํƒ€์ผ ๊ฒ€์‚ฌ๋ฅผ ์ ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ , ์ฝ”๋“œ์— ์‹ค์ œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ž‘์„ฑํ•  ๋•Œ ํฌ๋งท์„ ์ˆ˜์ •ํ•˜๋Š” ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์„ž์ผ ๊ฐ€๋Šฅ์„ฑ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค.

  • ์ด .gitignore file์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

    ์ด์œ :

    ์ด ํŒŒ์ผ์—๋Š” ์ด๋ฏธ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ๋ณด๋‚ด๋ฉด ์•ˆ๋˜๋Š” ์‹œ์Šคํ…œ ํŒŒ์ผ ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ํŒŒ์ผ์€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์—๋””ํ„ฐ์™€ ๋Œ€๋ถ€๋ถ„์˜ ๊ณตํ†ต ์˜์กด์„ฑ ํด๋”์— ๋Œ€ํ•œ ํด๋” ๋ฐ ํŒŒ์ผ ์„ค์ •์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • develop๊ณผ master ๋ธŒ๋žœ์น˜๋ฅผ ๋ณดํ˜ธํ•˜์„ธ์š”.

    ์ด์œ :

    ์ด ๋ฐฉ๋ฒ•์€ ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ•œ, ๋Œ์ดํ‚ฌ ์ˆ˜ ์—†๋Š” ๋ณ€๊ฒฝ์œผ๋กœ๋ถ€ํ„ฐ production-ready ๋ธŒ๋žœ์น˜๋“ค์„ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ๋” ์•Œ์•„๋ณด๊ธฐ: Github, Bitbucket

2. Git ์›Œํฌํ”Œ๋กœ์šฐ

์ƒ๊ธฐํ•œ ์ด์œ ๋“ค ๋•Œ๋ฌธ์—, ์šฐ๋ฆฌ๋Š” ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ฆฌ๋ฒ ์ด์Šค, ๊ทธ๋ฆฌ๊ณ  Gitflow์˜ ๋ช‡๊ฐ€์ง€ ์š”์†Œ(๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ๊ณผ develop ๋ธŒ๋žœ์น˜์˜ ๋ณด์œ )์™€ ํ•จ๊ป˜ Feature ๋ธŒ๋žœ์น˜ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ, ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— Git ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์„ธ์š”. ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์˜ ๊ฒฝ์šฐ ์ด ๋‹จ๊ณ„๋Š” ๋ฌด์‹œํ•˜์„ธ์š”.

    cd <project directory>
    git init
  • ์ƒˆ๋กœ์šด feature/bug-fix ๋ธŒ๋žœ์น˜๋ฅผ ์ฒดํฌ์•„์›ƒํ•˜์„ธ์š”.

    git checkout -b <branchname>
  • ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

    git add
    git commit -a

    ์ด์œ :

    git commit -a๋Š” ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ๋ถ„๋ฆฌ์‹œํ‚จ ์ƒํƒœ๋กœ ์—๋””ํ„ฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ์„น์…˜ 1.3์—์„œ ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

  • ๋†“์นœ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ›๊ธฐ ์œ„ํ•ด ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ๋™๊ธฐํ™”ํ•˜์„ธ์š”.

    git checkout develop
    git pull

    ์ด์œ :

    ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ถฉ๋Œ(conflict)์„ ํฌํ•จํ•˜๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋Œ€์‹ ์—, ๋‹น์‹ ์˜ ์ปดํ“จํ„ฐ์—์„œ ๋ฆฌ๋ฒ ์ด์Šคํ•จ์œผ๋กœ์จ ์ถฉ๋Œ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•œ ๋ฆฌ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•ด develop ๋ธŒ๋žœ์น˜์˜ ๋งˆ์ง€๋ง‰ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ feature ๋ธŒ๋žœ์น˜๋กœ ์—…๋ฐ์ดํŠธ ํ•˜์„ธ์š”.

    git checkout <branchname>
    git rebase -i --autosquash develop

    ์ด์œ :

    --autosquash๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋“  ์ปค๋ฐ‹์„ ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์œผ๋กœ ๋ฐ€์–ด ๋„ฃ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. develop ๋ธŒ๋žœ์น˜์—์„œ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์œ„ํ•œ ๋งŽ์€ ์ปค๋ฐ‹๋“ค์€ ์•„๋ฌด๋„ ์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ๋” ์•Œ์•„๋ณด๊ธฐ

  • ๋งŒ์•ฝ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ฐ์–ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค. ์ถฉ๋Œ์ด ๋ฐœ์ƒํ–ˆ๋‹ค๋ฉด, ๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐ(resolve)ํ•˜๊ณ  ๋ฆฌ๋ฒ ์ด์Šค๋ฅผ ๊ณ„์†ํ•˜์„ธ์š”.

    git add <file1> <file2> ...
    git rebase --continue
  • ๋ธŒ๋žœ์น˜๋ฅผ ํ‘ธ์‹œํ•˜์„ธ์š”. ๋ฆฌ๋ฒ ์ด์Šค๋Š” ์ด๋ ฅ์„ ๋ณ€๊ฒฝ์‹œํ‚ต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹น์‹ ์€ -f๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์›๊ฒฉ ๋ธŒ๋žœ์น˜๋กœ ๊ฐ•์ œ ๋ณ€๊ฒฝํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋‹น์‹ ์˜ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ์กฐ๊ธˆ ๋œ ํŒŒ๊ดด์ ์ธ --force-with-lease๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

    git push -f

    ์ด์œ :

    ๋ฆฌ๋ฒ ์ด์Šค ํ•  ๋•Œ, ๋‹น์‹ ์€ feature ๋ธŒ๋žœ์น˜์˜ ์ด๋ ฅ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์žˆ๋Š” ๊ฒ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, Git์€ ์ผ๋ฐ˜์ ์ธ git push๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹ , ๋‹น์‹ ์€ -f ํ˜น์€ --force ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์•Œ์•„๋ณด๊ธฐ

  • ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋งŒ๋“œ์„ธ์š”.

  • ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋Š” ๋ฆฌ๋ทฐ์–ด์— ์˜ํ•ด ์ˆ˜์šฉ๋˜๊ณ , ๋ณ‘ํ•ฉ๋˜๊ณ  ์ข…๋ฃŒ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

  • ๋ชจ๋“  ์ž‘์—…์ด ๋๋‚ฌ๋‹ค๋ฉด ๋‹น์‹ ์˜ ๋กœ์ปฌ feature ๋ธŒ๋žœ์น˜๋Š” ์ง€์šฐ์„ธ์š”.

    git branch -d <branchname>

    ์›๊ฒฉ ์ €์žฅ์†Œ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ๋ธŒ๋žœ์น˜๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

    git fetch -p && for branch in `git branch -vv | grep ': gone]' | awk '{print $1}'`; do git branch -D $branch; done

e. ์ข‹์€ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑํ•˜๊ธฐ

์ปค๋ฐ‹์„ ์ž‘์„ฑํ•˜๋Š” ์ข‹์€ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด Git์œผ๋กœ ์ž‘์—…ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ˜‘์—…ํ•˜๋Š” ๊ฒƒ์ด ์ƒ๋‹นํžˆ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๊ทธ ๊ทœ์น™๋“ค์ž…๋‹ˆ๋‹ค. (์ถœ์ฒ˜)

๊ณตํ†ต ๊ทœ์น™

  1. ์œ ํ˜•์€ ์˜์–ด or emoji๋กœ, ์ œ๋ชฉ์€ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•œ๋‹ค.
  2. ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์— ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ƒ์„ธํžˆ ์ž‘์„ฑํ•œ๋‹ค.

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ตฌ์„ฑ

๋ชจ๋“  ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ธ ์˜์—ญ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ์˜์˜์€ ๋นˆ ์ค„๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค.

  • ์ œ๋ชฉ ์ค„
  • ๋ณธ๋ฌธ (์ œ๋ชฉ ๋งŒ์œผ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•  ๋•Œ์—๋Š” ์ƒ๋žต ๊ฐ€๋Šฅ)
  • ๊ผฌ๋ฆฌ๋ง (๊ด€๋ จ ์ด์Šˆ๊ฐ€ ์—†์œผ๋ฉด ์ƒ๋žต ๊ฐ€๋Šฅ)
์œ ํ˜•: ์ œ๋ชฉ

๋ณธ๋ฌธ

๊ผฌ๋ฆฌ๋ง

์œ ํ˜•

์œ ํ˜•๋“ค์ด ๋ณตํ•ฉ์ ์œผ๋กœ ํฌํ•จ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ, ๋˜๋„๋ก ์ปค๋ฐ‹์„ ๋ถ„๋ฆฌํ•œ๋‹ค. ๋ถ„๋ฆฌ๊ฐ€ ์–ด๋ ค์šด ๊ฒฝ์šฐ ์œ„ ์ˆœ์„œ์ƒ ์ƒ์œ„ ํ•ญ๋ชฉ์˜ ์œ ํ˜•์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค. (eg. ๊ธฐ๋Šฅ๊ณผ ํ…Œ์ŠคํŠธ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋œ ๊ฒฝ์šฐ ๊ธฐ๋Šฅ์œผ๋กœ ์ž‘์„ฑ)

  • feat: ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ(or โœจ emoji) - ์ œํ’ˆ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐœ์ƒ
  • fix: ๋ฒ„๊ทธ ์ˆ˜์ •(or ๐Ÿš‘ emoji) - ์ œํ’ˆ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐœ์ƒ
  • docs: ๋ฌธ์„œ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ(or ๐Ÿ“š emoji) - ์ฝ”๋“œ ์ˆ˜์ • ์—†์Œ
  • style: ์ฝ”๋“œ ํ˜•์‹, ์ •๋ ฌ, ์ฃผ์„ ๋“ฑ์˜ ๋ณ€๊ฒฝ, eg; ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€(or ๐ŸŽจ emoji) - ์ œํ’ˆ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐœ์ƒ, ํ•˜์ง€๋งŒ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ณ€๊ฒฝ์€ ์—†์Œ
  • refactor: ์ฝ”๋“œ ๋ฆฌํŽ™ํ† ๋ง, eg. renaming a variable(or ๐Ÿšœ emoji) - ์ œํ’ˆ์ฝ”๋“œ ์ˆ˜์ • ๋ฐœ์ƒ
  • test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ ๋“ฑ(or ๐Ÿ”ฌ emoji) - ์ œํ’ˆ ์ฝ”๋“œ ์ˆ˜์ • ์—†์Œ. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์— ๊ด€๋ จ๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ์— ํ•ด๋‹น
  • etc: ์œ„์— ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ๋ณ€๊ฒฝ, eg. ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋ฐฐํฌ ์„ค์ • ๋ณ€๊ฒฝ - ์ฝ”๋“œ ์ˆ˜์ • ์—†์Œ

์ œ๋ชฉ

  1. ์ œ๋ชฉ ์ค„์€ 50์ž ๋‚ด๋กœ ์ž‘์„ฑํ•œ๋‹ค.

  2. ์ œ๋ชฉ์€ ๊ฐœ์กฐ์‹ ๊ตฌ๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

  3. ์ œ๋ชฉ ์ค„์€ "์œ ํ˜•: ์ œ๋ชฉ" ์˜ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

  4. ์ œ๋ชฉ ๋’ค์— ํŠน์ˆ˜๋ฌธ์ž๋Š” ์‚ฝ์ž…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ) . ? !

์˜ˆ) "feat: ๋กœ๊ทธ ๊ธฐ๋Šฅ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€"

๊ฐœ์กฐ์‹ ๊ตฌ๋ฌธ

์™„์ „ํ•œ ์„œ์ˆ ํ˜•์œผ๋กœ ๋ฌธ์žฅ์„ ์ข…๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ„๊ฒฐํ•˜๊ณ  ์š”์ ์ ์ธ ๋‹จ์–ด๋กœ ์„œ์ˆ ๋˜๋Š” ๋ฌธ์žฅํ˜•ํƒœ๋กœ์„œ, ๋‚ด์šฉ์„ ๊ธธ๊ฒŒ ํ’€์–ด์„œ ํ‘œํ˜„ํ•˜์ง€ ์•Š๊ณ  ์ค‘์š”ํ•˜๊ณ  ํ•ต์‹ฌ์ ์ธ ์š”์†Œ๋งŒ ๊ฐ„์ถ”๋ ค ํ•ญ๋ชฉ๋ณ„๋กœ ๋‚˜์—ดํ•˜๋“ฏ์ด ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹

- ๊ตญ๋ฆฝ๊ตญ์–ด์› -

๋ณธ๋ฌธ

  1. ๋ณธ๋ฌธ์€ ํ•œ ์ค„ ๋‹น 72์ž ๋‚ด๋กœ ์ž‘์„ฑํ•œ๋‹ค.
  2. ๋ณธ๋ฌธ ๋‚ด์šฉ์€ ์–‘์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ์ตœ๋Œ€ํ•œ ์ƒ์„ธํžˆ ์ž‘์„ฑํ•œ๋‹ค.
  3. ๋ณธ๋ฌธ ๋‚ด์šฉ์€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ๋ณด๋‹ค ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ๋˜๋Š” ์™œ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.

๊ผฌ๋ฆฌ๋ง

  1. ๊ผฌ๋ฆฌ๋ง์€ optional์ด๊ณ  ์ด์Šˆ ํŠธ๋ž˜์ปค ID๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  2. ๊ผฌ๋ฆฌ๋ง์€ "์œ ํ˜•: #์ด์Šˆ๋ฒˆํ˜ธ" ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  3. ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ด์Šˆ๋ฒˆํ˜ธ๋ฅผ ์ ์„๋•Œ๋Š” ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด์Šˆ ํŠธ๋ž˜์ปค ์œ ํ˜•์€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    • Fixes: ์ด์Šˆ ์ˆ˜์ •์ค‘ (์•„์ง ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)
    • Resolves: ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ–ˆ์„ ๋•Œ ์‚ฌ์šฉ
    • Ref: ์ฐธ๊ณ ํ•  ์ด์Šˆ๊ฐ€ ์žˆ์„ ๋•Œ ์‚ฌ์šฉ
    • Related to: ํ•ด๋‹น ์ปค๋ฐ‹์— ๊ด€๋ จ๋œ ์ด์Šˆ๋ฒˆํ˜ธ (์•„์ง ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)

์˜ˆ) Fixes: #45 Reloated to: #34, #23

์˜ˆ์‹œ

feat: ํŒจํ‚ท ์†ก์‹  ์ด๋ฒคํŠธ์— ๊ด€๋ จ๋œ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

์ปค๋ฐ‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…..

Resolves: #123
Ref: #456
Related to: #48, #45

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ์‹œ ์‚ฌ์šฉํ• ๋งŒํ•œ Emoji

Emoji Raw Emoji Code Description
๐ŸŽจ :art: ์ฝ”๋“œ์˜ ํ˜•์‹ / ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„  ํ•  ๋•Œ
๐Ÿ“ฐ :newspaper: ์ƒˆ ํŒŒ์ผ์„ ๋งŒ๋“ค ๋•Œ
๐Ÿ“ :pencil: ์‚ฌ์†Œํ•œ ์ฝ”๋“œ ๋˜๋Š” ์–ธ์–ด๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ
๐ŸŽ :racehorse: ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ๋•Œ
๐Ÿ“š :books: ๋ฌธ์„œ๋ฅผ ์“ธ ๋•Œ
๐Ÿ› :bug: ๋ฒ„๊ทธ reportingํ•  ๋•Œ, @FIXME์ฃผ์„ ํƒœ๊ทธ ์‚ฝ์ž…
๐Ÿš‘ :ambulance: ๋ฒ„๊ทธ๋ฅผ ๊ณ ์น  ๋•Œ
๐Ÿง :penguin: ๋ฆฌ๋ˆ…์Šค์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณ ์น  ๋•Œ
๐ŸŽ :apple: Mac OS์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณ ์น  ๋•Œ
๐Ÿ :checkered_flag: Windows์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณ ์น  ๋•Œ
๐Ÿ”ฅ :fire: ์ฝ”๋“œ ๋˜๋Š” ํŒŒ์ผ ์ œ๊ฑฐํ•  ๋•Œ , @CHANGED์ฃผ์„ ํƒœ๊ทธ์™€ ํ•จ๊ป˜
๐Ÿšœ :tractor: ํŒŒ์ผ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ . ๐ŸŽจ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ
๐Ÿ”จ :hammer: ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋ง ํ•  ๋•Œ
โ˜”๏ธ :umbrella: ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ ํ•  ๋•Œ
๐Ÿ”ฌ :microscope: ์ฝ”๋“œ ๋ฒ”์œ„๋ฅผ ์ถ”๊ฐ€ ํ•  ๋•Œ
๐Ÿ’š :green_heart: CI ๋นŒ๋“œ๋ฅผ ๊ณ ์น  ๋•Œ
๐Ÿ”’ :lock: ๋ณด์•ˆ์„ ๋‹ค๋ฃฐ ๋•Œ
โฌ†๏ธ :arrow_up: ์ข…์†์„ฑ์„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ๋•Œ
โฌ‡๏ธ :arrow_down: ์ข…์†์„ฑ์„ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ ํ•  ๋•Œ
โฉ :fast_forward: ์ด์ „ ๋ฒ„์ „ / ์ง€์ ์—์„œ ๊ธฐ๋Šฅ์„ ์ „๋‹ฌํ•  ๋•Œ
โช :rewind: ์ตœ์‹  ๋ฒ„์ „ / ์ง€์ ์—์„œ ๊ธฐ๋Šฅ์„ ๋ฐฑ ํฌํŠธ ํ•  ๋•Œ
๐Ÿ‘• :shirt: linter / strict / deprecation ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ฑฐ ํ•  ๋•Œ
๐Ÿ’„ :lipstick: UI / style ๊ฐœ์„ ์‹œ
โ™ฟ๏ธ :wheelchair: ์ ‘๊ทผ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ๋•Œ
๐Ÿšง :construction: WIP (์ง„ํ–‰์ค‘์ธ ์ž‘์—…)์— ์ปค๋ฐ‹, @REVIEW์ฃผ์„ ํƒœ๊ทธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ
๐Ÿ’Ž :gem: New Release
๐Ÿ”– :bookmark: ๋ฒ„์ „ ํƒœ๊ทธ
๐ŸŽ‰ :tada: Initial Commit
๐Ÿ”ˆ :speaker: ๋กœ๊น…์„ ์ถ”๊ฐ€ ํ•  ๋•Œ
๐Ÿ”‡ :mute: ๋กœ๊น…์„ ์ค„์ผ ๋•Œ
โœจ :sparkles: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœ ํ•  ๋•Œ
โšก๏ธ :zap: ๋„์ž… ํ•  ๋•Œ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ํŠน์ง•, @CHANGED์ฃผ์„ ํƒœ๊ทธ ์‚ฌ์šฉ
๐Ÿ’ก :bulb: ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด, @IDEA์ฃผ์„ ํƒœ๊ทธ
๐Ÿš€ :rocket: ๋ฐฐํฌ / ๊ฐœ๋ฐœ ์ž‘์—… ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ฒƒ
๐Ÿ˜ :elephant: PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ„ (๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์Šคํฌ๋ฆฝํŠธ, ํ™•์žฅ ๋“ฑ)
๐Ÿฌ :dolphin: MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠน์ • (๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์Šคํฌ๋ฆฝํŠธ, ํ™•์žฅ ๋“ฑ)
๐Ÿƒ :leaves: MongoDB ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠน์ • (๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์Šคํฌ๋ฆฝํŠธ, ํ™•์žฅ ๋“ฑ)
๐Ÿฆ :bank: ์ผ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ„ (๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์Šคํฌ๋ฆฝํŠธ, ํ™•์žฅ๋ช… ๋“ฑ)
๐Ÿณ :whale: ๋„์ปค ๊ตฌ์„ฑ
๐Ÿค :handshake: ํŒŒ์ผ์„ ๋ณ‘ํ•ฉ ํ•  ๋•Œ