Skip to content

๐Ÿค Github Convention

linirini edited this page Jul 22, 2024 · 5 revisions

Git Convention

branch-flow

๐Ÿ“ข Branch Workflow

[main - develop - develop-{ํŒŒํŠธ} - feature]
  • main : ํ•ญ์ƒ ์ตœ์‹  ์ƒํƒœ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. ์ด๋•Œ, ์ตœ์‹  ์ƒํƒœ๋Š” ๋ฐฐํฌ๋˜์–ด ์žˆ๋Š” ๋ฒ„์ „์„ ์˜๋ฏธํ•œ๋‹ค.
    • tag ๊ธฐ๋Šฅ์œผ๋กœ ๋ฐฐํฌ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•œ๋‹ค.
  • hotfix : ๊ธด๊ธ‰ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผํ•  ์ด์Šˆ๊ฐ€ ์žˆ์„ ๋•Œ main์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ž‘์—…ํ•œ๋‹ค.
  • develop : ์ž‘์—… ์‹œ์ž‘ ์ „ origin develop ์—์„œ fetch, pull ๋ฐ›์•„์„œ local develop ์ตœ์‹ ํ™”
    • WHY?
      • ๊ฐœ๋ฐœ ์ฝ”๋“œ(develop)์™€ ๋ฐฐํฌ ๊ฐ€๋Šฅ ์ฝ”๋“œ(main)์„ ๊ตฌ๋ถ„ํ•œ๋‹ค.
    • feature ๋ธŒ๋žœ์น˜๋“ค์ด ๋ชจ๋‘ develop ๋ธŒ๋žœ์น˜์— merge ๋˜์—ˆ๋‹ค๋ฉด QA๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
    • develop-{ํŒŒํŠธ}์˜ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ develop์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด main์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • developย ๋ธŒ๋žœ์น˜๋ฅผ ํ†ตํ•ด ์˜ค๋ฅ˜๊ฐ€ ํ™•์ธ๋œ๋‹ค๋ฉดย developย ๋ธŒ๋žœ์น˜ ๋‚ด์—์„œ ์ˆ˜์ •์„ ์ง„ํ–‰ํ•œ๋‹ค.
    • QA์™€ ํ…Œ์ŠคํŠธ๋ฅผ ๋ชจ๋‘ ํ†ต๊ณผํ–ˆ๋‹ค๋ฉด, ๋ฐฐํฌ๋ฅผ ์œ„ํ•ดย developย ๋ธŒ๋žœ์น˜๋ฅผย mainย ๋ธŒ๋žœ์น˜ ์ชฝ์œผ๋กœ mergeํ•œ๋‹ค. ๋งŒ์ผย developย ๋ธŒ๋žœ์น˜ ๋‚ด๋ถ€์—์„œ ์˜ค๋ฅ˜ ์ˆ˜์ •์ด ์ง„ํ–‰๋˜์—ˆ์„ ๊ฒฝ์šฐ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ดย develop-{ํŒŒํŠธ}ย ๋ธŒ๋žœ์น˜ ์ชฝ์—๋„ merge๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
  • develop-{ํŒŒํŠธ} : ์ž‘์—… ์‹œ์ž‘ ์ „ origin develop์—์„œ fetch, pull ๋ฐ›์•„์„œ local develop ์ตœ์‹ ํ™”
    • WHY?
      • Backend์™€ Android Commit ๊ธฐ๋ก์ด ์„ž์—ฌ์„œ ์ƒ๊ธฐ๋Š” ๋ถˆํŽธํ•จ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ํŒŒํŠธ๋ณ„ ๋ธŒ๋žœ์น˜๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.
  • feature : ์ตœ์‹ ํ™”๋œ local develop ์—์„œ ๊ฐœ์ธ feature branch๋ฅผ ์ƒ์„ฑํ•ด ์ž‘์—… ์‹œ์ž‘
    • feature/#{์ด์Šˆ๋ฒˆํ˜ธ}-{์ž‘์—… ๋‚ด์šฉ}
    • WHY?
      • ๊ธฐ๋Šฅ ๋˜๋Š” ์ž‘์—… ๋‹จ์œ„๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ์ฝ”๋“œ ์ถฉ๋Œ์„ ๋” ์ž˜ ๊ด€๋ฆฌํ•˜๊ณ  ํ•ด๊ฒฐํ•œ๋‹ค.
    • ๊ฐœ์ธ ์ž‘์—… ํ›„ feature branch์™€ local develop-{ํŒŒํŠธ} branch๋ฅผ mergeํ•œ๋‹ค. โ†’ origin feature branch๋กœ push ํ›„ ์ž‘์—… ๋‚ด์šฉ ํ™•์ธํ•œ๋‹ค. โ†’ ์ž‘์—… ๋‚ด์šฉ์ด ๋งž๋‹ค๋ฉด origin develop-{ํŒŒํŠธ} branch๋กœ PR(Pull Request)

Issue Template

  • ์ด์Šˆ ์ƒ์„ฑ ์‹œ ๋ฌด์กฐ๊ฑด ์ด์Šˆ ํ…œํ”Œ๋ฆฟ์„ ํ™œ์šฉ

issue

Title ์ž‘์„ฑ ๊ทœ์น™

prefix: ์ž‘์—… ์ œ๋ชฉ
  • prefix๋Š” ์˜์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘
  • ๋„์–ด์“ฐ๊ธฐ ์ž˜ ์ง€ํ‚ค๊ธฐ : prefix ์™€ : ๋Š” ๋ถ™์ด๊ณ , ์ž‘์—… ์ œ๋ชฉ ๊ณผ : ์‚ฌ์ด๋Š” ํ•œ๋ฒˆ ๋„์šฐ๊ธฐ
  • ์ž‘์—… ์ œ๋ชฉ
    • 20์ž ์ด๋‚ด๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑ
    • ์–ด๋–ค ์ž‘์—…์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„
    • ๋ช…์‚ฌ๋กœ ๋๋‚ด๊ธฐ : . ๋ฌธ์ž๋ฅผ ๋ถ™์ด์ง€ ์•Š๊ณ , ๋™์‚ฌ๋กœ ๋๋‚ด์ง€ ์•Š๊ธฐ

Description ์ž‘์„ฑ ๊ทœ์น™

### โœ… CheckList

- [ ] 
- [ ] 
- [ ] 
- [ ]

PR Template

์ œ๋ชฉ

  • ํƒ€์ž…: ๋‚ด์šฉ #{์ด์Šˆ๋ฒˆํ˜ธ}
  • ์•„๋ž˜ Labels์—์„œ ํ™•์ธ

์ž‘์„ฑ ๊ทœ์น™

  • PR ์ƒ์„ฑ ์‹œ ๋ฌด์กฐ๊ฑด PR ํ…œํ”Œ๋ฆฟ์„ ํ™œ์šฉ
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋‚จ๊ธธ ๋• ๋ฌด์กฐ๊ฑด ์กด๋Œ“๋ง ์‚ฌ์šฉ!

๐Ÿ“Œ PR ํ…œํ”Œ๋ฆฟ

PULL_REQUEST_TEMPLATE.md ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์•„๋ž˜ ๋‚ด์šฉ์˜ Markdown์„ ์ƒ์„ฑํ•œ๋‹ค


โญ๏ธ Issue Number

  • ์ด์Šˆ ๋งํฌ

๐Ÿšฉ Summary

  • ๊ตฌํ˜„ํ•œ ๋‚ด์šฉ ์„ค๋ช…1
  • ๊ตฌํ˜„ํ•œ ๋‚ด์šฉ ์„ค๋ช…2

๐Ÿ› ๏ธ Technical Concerns

Concern 1

์ขŒ์šฐ๋กœ ์Šค์™€์ดํ”„ ํ•˜๋Š” ๋ ˆ์ด์•„์›ƒ์€ Compose์˜ HorizontalPager(๊ธฐ์กด xml์˜ ViewPager)๋ฅผ ์ด์šฉํ•ด ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ

์œ„ ๋ธ”๋กœ๊ทธ์— HorizontalPager์˜ ๋‹ค์–‘ํ•œ ํ™œ์šฉ ์˜ˆ์‹œ๊ฐ€ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•ด๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”!

์•„๋ž˜๋Š” Pager Scope ์•ˆ์˜ ๋™์ž‘์ž…๋‹ˆ๋‹ค.

  1. getContentByPageNumber๋ฉ”์„œ๋“œ์— ํ˜„์žฌ ๋ช‡ ๋ฒˆ์งธ page์ธ์ง€์— ๋Œ€ํ•œ INT ๊ฐ’์„ ์ „๋‹ฌํ•œ๋‹ค.
  2. ํ•ด๋‹นํ•˜๋Š” ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ OnboardingPageContent ํ˜•์‹์œผ๋กœ ๋ฐ˜ํ™˜๋ฐ›์•„ pageContent ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค.
  3. ํŽ˜์ด์ง€์˜ ๋ ˆ์ด์•„์›ƒ์„ ๊ทธ๋ ค์ฃผ๋Š” PagerItem์— pageContent ๋‚ด์šฉ์„ ์ „๋‹ฌํ•œ๋‹ค.
  4. ์ด ๋•Œ ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€ (page==4)๋ผ๋ฉด ๋ ˆ์ด์•„์›ƒ์— ์˜จ๋ณด๋”ฉ ์Šคํฌ๋ฆฐ์„ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋Š” Button์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

๐Ÿ™‚ To Reviwer

  • Review Point
  • Caution Point

๐Ÿ“‹ To Do


์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€

๐Ÿ› ๏ธย Commit Convention & PR Convention

Type ์„ค๋ช…
feat: ๊ธฐ๋Šฅ (์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ)
fix: ๋ฒ„๊ทธ (๋ฒ„๊ทธ ์ˆ˜์ •)
refactor: ๋ฆฌํŒฉํ† ๋ง (๋ณ€์ˆ˜ ๋ฐ ๋ฉ”์„œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ)
style: ์Šคํƒ€์ผ (๋ฉ”์„œ๋“œ ์ˆœ์„œ, ์ฝ”๋“œ ํ˜•์‹, ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
docs: ๋ฌธ์„œ (๋ฌธ์„œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ)
test: ํ…Œ์ŠคํŠธ (ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
build: ๋นŒ๋“œ ๊ด€๋ จ (๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • ๋“ฑ)
post: ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ ์ถ”๊ฐ€ (์‹ ๊ทœ ํฌ์ŠคํŠธ ์ž‘์„ฑ ๋ฐ ์ˆ˜์ •)
chore: ๊ธฐํƒ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ (์œ„ ์‚ฌํ•ญ ์™ธ ์ž์ž˜ํ•œ ์ˆ˜์ •)
ui: xml ์ž‘์—…

prefix

  • ์ œ๋ชฉ์€ 50์ž ์ด๋‚ด๋กœ ์š”์•ฝํ•˜๊ณ , [์ปค๋ฐ‹ํƒ€์ž…: ๋‚ด์šฉ] ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

  • ์ œ๋ชฉ์€ ํ•œ์ค„๋กœ ์ž‘์„ฑํ•œ๋‹ค.

  • ์ž‘์„ฑ ์˜ˆ์‹œ

    feat: ใ…‡ใ…‡๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ์ด ์™ธ์˜ ๊ทœ์น™์€ ๋ฌธ์„œ ํ•˜๋‹จ์˜ [์ฒดํฌ๋ฆฌ์ŠคํŠธ]๋ฅผ ๋”ฐ๋ฅธ๋‹ค.

body

  • ๋ณธ๋ฌธ ์ž‘์„ฑ์€ ์„ ํƒ
  • ์ปค๋ฐ‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž์œจ์ ์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค.

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ํƒ€์ž…๊ณผ ๋‚ด์šฉ ์‚ฌ์ด์— ๋„์–ด์“ฐ๊ธฐ๋ฅผ ์ž˜ ๊ตฌ๋ถ„ํ–ˆ๋‚˜์š”?
  • ์ œ๋ชฉ์€ ๋ช…๋ น๋ฌธ์œผ๋กœ ์ž‘์„ฑํ–ˆ๋‚˜์š”?
  • ์ œ๋ชฉ ๋์— ๋งˆ์นจํ‘œ(.) ๊ธˆ์ง€
  • ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ํ•œ ์ค„ ๋„์›Œ ๋ถ„๋ฆฌํ•˜๊ธฐ
  • ๋ณธ๋ฌธ์— ์—ฌ๋Ÿฌ์ค„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•  ๋• "-"๋กœ ๊ตฌ๋ถ„ํ–ˆ๋‚˜์š”?

Labels

Pull Request ์š”์ฒญ์‹œ, Pull Request ํƒ€์ž…์— ๋งž๋Š” ๋ผ๋ฒจ์„ ๋ถ€์ฐฉํ•œ๋‹ค


PR MERGE

MERGE ๊ธฐ์ค€

  • release
    • ํŒŒํŠธ๋ณ„ ๋Œ€ํ‘œ์ž 1๋ช…์”ฉ
  • develop
    • ํŒŒํŠธ๋ณ„ 2๋ช… ์ด์ƒ approve
    • ๊ฐ•์ œ push ๋ถˆ๊ฐ€๋Šฅ
    • branch deletion ๋ถˆ๊ฐ€๋Šฅ

MERGE ๋ฐฉ๋ฒ•

๐Ÿ’ก Squash and merge
  • pr merge ํ•  ๋•Œ message ๋์— ์ด์Šˆ ๋ฒˆํ˜ธ ๋ถ™์ด๊ธฐ

    ex) build: develop-be ๋ธŒ๋žœ์น˜์˜ CI ์„ค์ • #6 (#7)

๐Ÿ’  ์Šคํƒ€์นดํ†  ๐Ÿ’ 

Home: ์Šคํƒ€์นดํ†  ์†Œ๊ฐœ

โš™๏ธ ๊ธฐ์ˆ  ๋ฌธ์„œ

๐Ÿ–๏ธ Common

๐Ÿ…ฐ๏ธ Android

๐Ÿ…ฑ๏ธ Backend


๐Ÿคช ์šฐ๋ฆฌ๋“ค์˜ ์Šคํƒ€์นดํ† 

๊ฐœ๋ฐœ์นดํ† 

  • ๐Ÿซถ WooDangTang!Tang! HuruHuru~ Pair

๋‚ญ๋งŒ์นดํ† 

๐Ÿš€ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

AN

  • ํ™œ์„ฑํ™” ์ƒํƒœ์ธ ํ‚ค๋ณด๋“œ ์ˆจ๊ธฐ๊ธฐ

BE

  • something_trouble
Clone this wiki locally