๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Git ์ปค๋ฐ‹ Template ์•„๋ฆ„๋‹ต๊ฒŒ ์ „๋‹ฌํ•˜์ž

ALL TIL GIT Posted by Sunio on January 04, 2021 · 3 mins read

๊นƒ์„ ํ†ตํ•ด ์ •๋ณด์™€ ํ”„๋กœ์ ํŠธ, ์ œ๋Œ€๋กœ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•

Tools

Git

1. Prologue


์šฐ๋ฆฌ๋Š” ์„œ๋กœ๋ฅผ ์ดํ•ด์‹œํ‚ค๋Š” ๋ฌดํ•œํ•œ ์†Œํ†ต์˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉฐ, ๊ทธ ๊ณผ์ •์— ๋”ฐ๋ผ ์›ƒ์œผ๋ฉฐ ์ˆ  ํ•œ์ž” ํ•  ์ˆ˜ ์žˆ๋Š” ํŒ€์›Œํฌ์ธ์ง€ ํญ๋งํ•ด ์นดํ†ก ์ˆจ๊น€ ๋ชฉ๋ก์„ ์ฐจ์ง€ํ•˜๋Š” ํŒ€์›Œํฌ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋œ๋‹ค.
์ฝ”๋“œ๋ฅผ Clean ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ ์ด์™ธ๋กœ ์šฐ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ํ˜‘์—…์„ ํ•˜๊ณ  ์—ฌ๋Ÿฌ ์˜์‚ฌ๊ฒฐ์ •์„ ํ•˜๊ฒŒ ๋œ๋‹ค.
๋„๊ตฌ๋Š” ์†์ง“ ๋ฐœ์ง“์ด ๋  ์ˆ˜๋„ ์žˆ๊ณ , ์ฝ”๋“œ ๊ทธ ์ž์ฒด๊ฐ€ ๋˜๊ธฐ๋„ ํ•œ๋‹ค. (๋ญ ์ด์™ธ์—๋„ ๊ต‰์žฅํ•˜๊ณ  ๋ฌด๊ถ๋ฌด์ง„ํ•œ ๋ฐฉ๋ฒ•๋“ค์ด ๋งŽ๊ธดํ•˜๋‹ค. ๐Ÿ™„)
์šฐ๋ฆฌ๋Š” ํšจ์œจ์ ์ธ ์˜์‚ฌ์†Œํ†ต ๋„๊ตฌ์˜ ํ™œ์šฉ์ด ์šฐ๋ฆฌ์—๊ฒŒ ๋‹น์—ฐํžˆ๋„ ์ตœ๋Œ€์˜ ์ด๋“์„ ๊ฐ€์ ธ๋‹ค ์ค„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค.
ํ•˜์ง€๋งŒ, ๊ฒŒ์„๋Ÿฌ์„œ ํฌ๊ธฐํ•˜๋Š” ์–ด๋– ํ•œ (์ˆ˜๋งŽ์€) ๊ฒƒ๋“ค์ด ์žˆ๋‹ค..
๊ทธ ์ค‘์— ๋ฒ„์ „๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์ž‘์„ฑํ•˜๋Š” Commit message๋ฅผ ์ด์˜๊ณ  ๋ช…๋ฃŒํ•˜๊ฒŒ ์ž‘์„ฑํ•ด๋ณด์ž.

2. Issue


๋‚ด๊ฐ€ ๋ฌด์—‡์„ Commit ํ–ˆ์—ˆ๋Š”์ง€, ์ „ํ˜€ ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค. ์ด๊ฑด ๋˜ฅ์ด๋‹ค.

3. Resolve


  1. Commit template์ด ๋  ์ž‘์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.
    # windows powershell
    $ ni ~/.gitmessage.txt
    # linux shell
    $ touch ~/.gitmessage.txt
    
  2. ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์— ์ ‘๊ทผํ•˜์—ฌ ํŒ€์ด ์ •ํ•œ ํ…œํ”Œ๋ฆฟ([๋ชฉ์ฐจ 4] Code ์ฐธ๊ณ )์„ ๊ทธ๋Œ€๋กœ ๋„ฃ๊ณ  ์ €์žฅํ•œ๋‹ค.
  3. commit.template์— ์ด ํŒŒ์ผ์„ ์ ์šฉํ•ด์ค€๋‹ค.
    git config --global commit.template ~/.gitmessage.txt
    
  4. ์ด ํ›„์˜ ๊นƒ ์ปค๋ฐ‹ ์‹œ์—๋Š” git commit (์˜ต์…˜ ์—†์ด)๋ฅผ ์น˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค
  5. ์ œ๋ชฉ/๋ณธ๋ฌธ/๊ผฌ๋ฆฟ๋ง๋กœ ๊ตฌ์„ฑ๋œ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ณ  ์ปค๋ฐ‹ํ•œ๋‹ค

4. Code


ํ…œํ”Œ๋ฆฟ ์˜ˆ์ œ.

# <ํƒ€์ž…>: <์ œ๋ชฉ>

##### ์ œ๋ชฉ์€ ์ตœ๋Œ€ 50 ๊ธ€์ž๊นŒ์ง€๋งŒ ์ž…๋ ฅ ############## -> |


# ๋ณธ๋ฌธ์€ ์œ„์— ์ž‘์„ฑ
######## ๋ณธ๋ฌธ์€ ํ•œ ์ค„์— ์ตœ๋Œ€ 72 ๊ธ€์ž๊นŒ์ง€๋งŒ ์ž…๋ ฅ ########################### -> |

# ๊ผฌ๋ฆฟ๋ง์€ ์•„๋ž˜์— ์ž‘์„ฑ: ex) #์ด์Šˆ ๋ฒˆํ˜ธ

# --- COMMIT END ---
# <ํƒ€์ž…> ๋ฆฌ์ŠคํŠธ
#   feat    : ๊ธฐ๋Šฅ (์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ)
#   fix     : ๋ฒ„๊ทธ (๋ฒ„๊ทธ ์ˆ˜์ •)
#   refactor: ๋ฆฌํŒฉํ† ๋ง
#   style   : ์Šคํƒ€์ผ (์ฝ”๋“œ ํ˜•์‹, ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
#   docs    : ๋ฌธ์„œ (๋ฌธ์„œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ)
#   test    : ํ…Œ์ŠคํŠธ (ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
#   chore   : ๊ธฐํƒ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ (๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • ๋“ฑ)
# ------------------
#     ์ œ๋ชฉ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ
#     ์ œ๋ชฉ์€ ๋ช…๋ น๋ฌธ์œผ๋กœ
#     ์ œ๋ชฉ ๋์— ๋งˆ์นจํ‘œ(.) ๊ธˆ์ง€
#     ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ํ•œ ์ค„ ๋„์›Œ ๋ถ„๋ฆฌํ•˜๊ธฐ
#     ๋ณธ๋ฌธ์€ "์–ด๋–ป๊ฒŒ" ๋ณด๋‹ค "๋ฌด์—‡์„", "์™œ"๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
#     ๋ณธ๋ฌธ์— ์—ฌ๋Ÿฌ์ค„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•  ๋• "-"๋กœ ๊ตฌ๋ถ„
# ------------------

5. Post Script


์ผ์˜ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ๋ณด๋žŒ์ฐจ๊ฒŒ ๋งค๋“ญ์ง“๋„๋ก ์ปค๋ฐ‹๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž.

6. Reference


Git Documentation ไธญ :: 8.1 Git๋งž์ถค-git-์„ค์ •ํ•˜๊ธฐ


โ€ข 0 Comments