The journey to becoming a developer

My future is created by what I do today, not tomorrow.

Programming/Git

νŒ€ ν”„λ‘œμ νŠΈμ— κΌ­ ν•„μš”ν•œ Commit Convention: 이슈 λ²ˆν˜Έμ™€ 컀밋 νƒ€μž…μœΌλ‘œ κ΄€λ¦¬ν•˜κΈ°

Millie 2023. 2. 22. 09:45

πŸ’¬ Motivation

2022λ…„ 10μ›”λΆ€ν„° Pullanner ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ, ν”„λ‘ νŠΈμ—”λ“œ νŒ€μ›κ³Ό ν•¨κ»˜ 컀밋 μ»¨λ²€μ…˜μ„ 정리해 λ³΄μ•˜λ‹€. 사싀 μž‘λ…„ 11μ›” 24일에 μ™„μ„±ν–ˆμ§€λ§Œ νŒ€ λ…Έμ…˜μ—λ§Œ μ €μž₯ν•΄ λ‘μ—ˆλ‹€.

μ΄λ²ˆμ— λΈ”λ‘œκ·Έμ— μ—…λ‘œλ“œν•˜κ²Œ 된 κ³„κΈ°λŠ” μ›ν‹°λ“œ ν”„λ¦¬μ˜¨λ³΄λ”© ν”„λ‘ νŠΈμ—”λ“œ 인턴십 과정에 μ°Έκ°€ν•˜μ—¬ νŒ€ ν”„λ‘œμ νŠΈλ₯Ό ν•˜κ²Œ 된 것이닀. ν•¨κ»˜ ν•˜κ²Œ 된 νŒ€μ›λ“€κ³Ό 컀밋 μ»¨λ²€μ…˜μ„ μ •ν•΄μ•Ό ν–ˆκ³ , μ΄λ•Œ μ •λ¦¬λœ λ¬Έμ„œλ₯Ό λ³΄μ—¬μ£Όκ²Œ λœλ‹€λ©΄ 더 효과적일 것이라 μƒκ°ν–ˆλ‹€.

νŒ€μ›λ“€μ΄ λ‚˜ 포함 8λͺ…μ΄μ—ˆκΈ° λ•Œλ¬Έμ— κ½€ λ§Žμ•˜κ³ , κ°μžκ°€ μ‚¬μš©ν•΄ μ™”λ˜ 컀밋 μ»¨λ²€μ…˜λ“€μ„ λŒμ•„κ°€λ©΄μ„œ λ§ν•˜κ²Œ λ˜μ—ˆλ‹€. μ΄λ•Œ λ‚˜λŠ” μ •λ¦¬ν•΄λ’€λ˜ 컀밋 μ»¨λ²€μ…˜μ„ νŒ€μ›λΆ„λ“€κ»˜ λ³΄μ—¬λ“œλ Έκ³ , 이것이 μ΅œμ’… 선택이 λ˜μ—ˆλ‹€.

μ—¬κΈ°μ„œ κΉ¨λ‹¬μ•˜λ˜ 것은, 정리해 λ‘” 것은 μ–Έμ  κ°€ 빛을 λ°œν•  수 μžˆλ‹€λŠ” μ‚¬μ‹€μ΄μ—ˆλ‹€. λΈ”λ‘œκ·Έμ— 정리λ₯Ό ν•΄ 두면 μΆ”ν›„ λ°”λ‘œ 찾기도 쉽고, 또 λ‹€λ₯Έ 뢄듀도 μ°Έκ³ ν•  μˆ˜λ„ μžˆμ„ κ²ƒμ΄λΌλŠ” 생각이 λ“€μ—ˆλ‹€. λ‚˜λ„ λ‹€λ₯Έ 뢄듀이 정리해 λ‘” 것을 μ°Έκ³ ν•˜μ—¬ νŒ€μ›κ³Ό ν•¨κ»˜ μž‘μ„±ν•œ 것이고, κ·Έμ€‘μ—μ„œ 자주 μ“Έ 것 같은 νƒ€μž…μ„ λͺ¨μ•„λ‘μ—ˆμœΌλ©° μ•½κ°„μ˜ μ·¨ν–₯κ³Ό κ·œμΉ™μ„ μ²¨κ°€ν•œ 것이닀.

λ‚˜λŠ” νŒ€ ν”„λ‘œμ νŠΈλΏλ§Œ μ•„λ‹ˆλΌ 개인 ν”„λ‘œμ νŠΈμ—μ„œλ„ μ΄λŸ¬ν•œ μ»¨λ²€μ…˜μ„ λ”°λ₯΄λ©΄μ„œ 컀밋을 ν•˜λŠ” 것이 μ΄μ œλŠ” μ΅μˆ™ν•˜λ‹€.

μ§€λ‚œλ‚ μ˜ 컀밋듀.

πŸ’¬ Commit Type and Description

자주 μ“°λŠ” νƒ€μž… μœ„μ£Όλ‘œ 정리해 λ³΄μ•˜λ‹€. 

μ΄λ ‡κ²Œ 컀밋에 νƒ€μž…μ„ λͺ…μ‹œν•΄ 두면, μ½”λ“œμ˜ λ³€κ²½ 이유λ₯Ό 컀밋 λ©”μ‹œμ§€μ˜ νƒ€μž…λ§Œ 보고도 μΊμΉ˜ν•  수 있기 λ•Œλ¬Έμ— 맀우 νš¨μœ¨μ μ΄λ‹€. 

예λ₯Ό λ“€μ–΄, 컀밋 λ©”μ‹œμ§€μ˜ Feat만 보고도 '이 컀밋은 μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•œ μ½”λ“œκ°€ μžˆκ² κ΅¬λ‚˜'라고 λ°”λ‘œ νŒŒμ•…ν•  수 μžˆλ‹€. 

μ΄λŸ¬ν•œ λͺ…ν™•ν•œ 정보λ₯Ό 톡해 μ½”λ“œμ˜ λ³€κ²½ 이유λ₯Ό νŒŒμ•…ν•˜λŠ” μ‹œκ°„μ„ 쀄일 수 μžˆλ‹€. 

 

πŸ’¬ Commit message & Description

[#Issue Number] Type: commit title

Description

컀밋 νƒ€μ΄ν‹€μ—λŠ” 이슈 λ„˜λ²„λ₯Ό λŒ€κ΄„ν˜Έλ‘œ ν‘œμ‹œν•œλ‹€.

μ΄λ ‡κ²Œ 이슈λ₯Ό λͺ…μ‹œν•¨μœΌλ‘œμ¨ 이 컀밋이 μ–΄λ–€ μ΄μŠˆμ™€ μ—°κ΄€λ˜μ–΄ μžˆλŠ”μ§€ μ‰½κ²Œ νŒŒμ•…ν•  수 μžˆλ‹€. 

νŒ€μ›λ“€μ΄ 이 μ΄μŠˆμ™€ κ΄€λ ¨λœ μ½”λ“œμ˜ λ³€κ²½ 사항을 μ‰½κ²Œ νŒŒμ•…ν•  수 있고, μ΄λŠ” μž‘μ—…μ˜ νš¨μœ¨μ„±μ΄ μ’‹μ•„μ§€λŠ” 길이닀. 

 

πŸ’¬ Commit Rules

  1. 컀밋을 ν•˜λŠ” λ‹¨μœ„λŠ” 컀밋 λ©”μ‹œμ§€ ν•œ μ€„λ‘œ μ„€λͺ…ν•  수 μžˆλŠ” 행동이어야 ν•œλ‹€.
  2. 컀밋을 잘게 μͺΌκ°œμž ― μ»€λ‹€λž€ 컀밋보단 λ„ˆλ¬΄ μƒμ„Έν•˜λ”λΌλ„ μž‘μ€ 컀밋이 더 λ‚«λ‹€.
  3. λ³΅μž‘ν•œ 컀밋보단 κ°„λ‹¨ν•œ 컀밋 ― ν•œ μ»€λ°‹μ˜ ν•œ νŒŒμΌμ—μ„œ 2가지 μ•‘μ…˜μ΄ λ“€μ–΄κ°€λŠ” μˆœκ°„, ν•΄λ‹Ή 컀밋은 λ³΅μž‘ν•œ 컀밋이 λœλ‹€. (μ»€λ°‹μ˜ type을 μ„žμ§€ 말자)

Reference

컀밋을 잘게 μͺΌκ°œμž - 컀밋은 μ–Έμ œ ν•˜λŠ” 것이 κ°€μž₯ μ’‹μ„κΉŒ?