๋ฐ์—”์œผ๋กœ ์„ฑ์žฅ์ค‘ ๐ŸŒฑ

์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค 5๊ธฐ ๋ฐฑ์—”๋“œ ํ”„๋ฆฌ์ฝ”์Šค

[์šฐํ…Œ์ฝ” 5๊ธฐ ํ”„๋ฆฌ์ฝ”์Šค] 1์ฃผ์ฐจ: java-onboading

์จ๋ฐ 2022. 11. 3. 17:15

์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค 5๊ธฐ ๋ฐฑ์—”๋“œ์— ์ง€์›ํ•˜์—ฌ, ํ”„๋ฆฌ์ฝ”์Šค์— ์ฐธ๊ฐ€ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 1์ฃผ์ฐจ๋Š” git๊ณผ ์นœํ•ด์ง€๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.


์šฐ์„ , Github fork ํ†ตํ•ด ๋‚ด ๋ ˆํผ์ง€ํ† ๋ฆฌ์— ์ €์žฅํ–ˆ๋‹ค.

IntelliJ์˜ ํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉํ•ด git clone ์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

git clone <https://github.com/Lee-SungMin/java-onboarding.git>

git status ๋ฅผ ํ†ตํ•ด ์ž˜ ๋ฐ›์•„์™”์Œ์„ ํ™•์ธํ•˜์˜€๋‹ค.

IntelliJ์˜ ํ„ฐ๋ฏธ๋„์„ ์‚ฌ์šฉํ•ด git clone ์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

git clone <https://github.com/Lee-SungMin/java-onboarding.git>

git status ๋ฅผ ํ†ตํ•ด ์ž˜ ๋ฐ›์•„์™”์Œ์„ ํ™•์ธํ•˜์˜€๋‹ค.

 

Git branch๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ๊ธฐ ์œ„ํ•ด์„œ, Git flow์— ๋Œ€ํ•ด์„œ ์•Œ์•„ ๋ณด์•˜๋‹ค.

์•„๋ž˜๋Š”, ์ฐธ๊ณ  ์ž๋ฃŒํ•œ ์ž๋ฃŒ๋“ค์ด๋‹ค. ํŠนํžˆ ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋“ค์ด ์ •๋ง ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ๋‹ค. ๋„์›€์„ ๋งŽ์ด ๋ฐ›์•˜๋‹ค.

https://github.com/DoTheBestMayB/UpbitAPI/issues/2

 

git branch ์ „๋žต์€ ์™œ ์‚ฌ์šฉํ• ๊นŒ? · Issue #2 · DoTheBestMayB/UpbitAPI

git branch ์ „๋žต์€ ์™œ ์‚ฌ์šฉํ• ๊นŒ? Git ๋ธŒ๋žœ์น˜ ์ „๋žต์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ํŒ€์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋ฉด ๋งŽ์€ branch๊ฐ€ ์ƒ์„ฑ๋˜๋Š”๋ฐ, ์ด branch ๋“ค์„ ๊ด€๋ฆฌํ•˜๊ณ  ํ•œ branch๋กœ ํ†ตํ•ฉ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ทœ์น™์ด ํ•„์š”ํ•˜๋‹ค. ์ด ๊ทœ์น™์„ ์ž˜

github.com

[GIT] ๐Ÿ“ˆ ๊นƒ ๋ธŒ๋žœ์น˜ ์ „๋žต ์ •๋ฆฌ - Github Flow / Git Flow

 

[GIT] ๐Ÿ“ˆ ๊นƒ ๋ธŒ๋žœ์น˜ ์ „๋žต ์ •๋ฆฌ - Github Flow / Git Flow

GIT ๋ธŒ๋žœ์น˜ ์ „๋žต ๋ธŒ๋žœ์น˜ ์ „๋žต์ด๋ž€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ์ €์žฅ์†Œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ work-flow๋‹ค. ๋ธŒ๋žœ์น˜์˜ ์ƒ์„ฑ, ์‚ญ์ œ, ๋ณ‘ํ•ฉ ๋“ฑ git์˜ ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ด์„œ,

inpa.tistory.com

Git-Flow & Commit message & Issue ์ด์šฉํ•ด์„œ ํ˜‘์—…ํ•˜๊ธฐ

 

Git-Flow & Commit message & Issue ์ด์šฉํ•ด์„œ ํ˜‘์—…ํ•˜๊ธฐ

ํ˜‘์—…ํ•  ๋•Œ ์ •๋ง ์š”๊ธดํ•˜๊ฒŒ ์“ฐ์ด๋Š” Git-Flow ์ „๋žต๊ณผ commit message & Issues ๊ด€๋ฆฌ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

velog.io

Git Branch & Tag๋ฅผ ํ™œ์šฉํ•œ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ์ „๋žต ๋งˆ๋ จํ•˜๊ธฐ

 

Git Branch & Tag๋ฅผ ํ™œ์šฉํ•œ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ์ „๋žต ๋งˆ๋ จํ•˜๊ธฐ

์„œ๋ก  SVN์˜ ๊ฒฝ์šฐ ๋‹จ์ผ Remote Source ์ €์žฅ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜์—ฌ ๋‹จ์ˆœํ•˜์ง€๋งŒ, ํ•œ๋ช…์˜ Commit์ด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ง€๋Œ€ํ•œ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค. Git์˜ ๊ฒฝ์šฐ Local Repository์— Source ์ €์žฅ์†Œ๋ฅผ ๋‘์–ด Commit

waspro.tistory.com

 

branch๋Š” ์ฃผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

 

 

master(main) : ์ œํ’ˆ์œผ๋กœ ์ถœ์‹œ๋  ์ˆ˜ ์žˆ๋Š” ๋ธŒ๋žœ์น˜
develop : ๋‹ค์Œ ์ถœ์‹œ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜
feature : ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜, develop ๋ธŒ๋žœ์น˜์— ๋“ค์–ด๊ฐ„๋‹ค.
release : ๋‹ค์Œ ๋ฒ„์ „์„ ์ค€๋น„ํ•˜๋Š” ๋ธŒ๋žœ์น˜, develop ๋ธŒ๋žœ์น˜๋ฅผ release ๋ธŒ๋žœ์น˜๋กœ ์˜ฎ๊ธด ํ›„ QA, ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  master ๋ธŒ๋žœ์น˜๋กœ ํ•ฉ์นœ๋‹ค.
hotfix : ์ถœ์‹œ ๋ฒ„์ „(master ๋ธŒ๋žœ์น˜)์—์„œ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ • ํ•˜๋Š” ๋ธŒ๋žœ์น˜

 

master์™€ develop์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณธ๋ž˜ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

feature : feature/{๊ธฐ๋Šฅ ์š”์•ฝ} ํ˜น์€ feature/{issue-number}-{๊ธฐ๋Šฅ ์š”์•ฝ}

release : release-{๋ฒ„์ „} ํ˜น์€ release/{๋ฒ„์ „}

hotfix : hotfix-{๋ฒ„์ „}

→ ํ•ญ์‹œ ์œ ์ง€๋˜๋Š” ๋ฉ”์ธ ๋ธŒ๋žœ์น˜: master, develop / merge๋˜๋ฉด ์‚ฌ๋ผ์ง€๋Š” ๋ณด์กฐ ๋ธŒ๋žœ์น˜: feature, release, hotfix

 

Git Flow๋Š” ์ฃผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

 

develop ๋ธŒ๋žœ์น˜์—์„œ feature ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑ

→ feature ๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด develop ๋ธŒ๋žœ์น˜๋กœ merge

→ develop์— ์ด๋ฒˆ ๋ฒ„์ „์— ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์ด merge ๋˜์—ˆ๋‹ค๋ฉด QA๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด develop ๋ธŒ๋žœ์น˜์—์„œ๋ถ€ํ„ฐ release ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑ

→ QA๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋“ค์€ release ๋ธŒ๋žœ์น˜์— ์ˆ˜์ •

→ QA๋ฅผ ๋ฌด์‚ฌํžˆ ํ†ต๊ณผํ–ˆ๋‹ค๋ฉด release ๋ธŒ๋žœ์น˜๋ฅผ master์™€ develop ๋ธŒ๋žœ์น˜๋กœ merge

 

*์ฃผ์˜์ : github๋ฅผ ์ตœ๊ทผ์— ์‚ฌ์šฉํ•œ ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ผ๋ฉด, ๊ธฐ๋ณธ ์„ค์ • ๋ธŒ๋žœ์น˜๊ฐ€ master๊ฐ€ ์•„๋‹ˆ๋ผ main์ธ ๊ฒƒ์— ๋‹นํ™ฉํ•  ๊ฒƒ์ด๋‹ค.

์ด ๋ถ€๋ถ„์„ ์กฐ์‹ฌํ•˜์—ฌ git ์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

 

์ด๋ฒˆ 1์ฃผ์ฐจ ๋ฏธ์…˜์„ ์ง„ํ–‰ํ•  ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์€ flow๋กœ ์ง„ํ–‰ํ•  ๊ฒƒ์ด๋‹ค.

๋‚˜๋Š” ๋ฌธ์ œ ํ•˜๋‚˜ ํ•˜๋‚˜๋ฅผ ๊ธฐ๋Šฅ ํ•˜๋‚˜๋กœ ๋‚˜๋ˆ„์–ด ๋ณด์•˜๋‹ค. (๋ฌธ์ œ๋งˆ๋‹ค ์š”๊ตฌํ•˜๋Š” ๊ธฐ๋Šฅ ์‚ฌํ•ญ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, ํ•˜๋‚˜์˜ feature ๋ธŒ๋žœ์น˜๋กœ ๋ฌถ์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๋ธŒ๋žœ์น˜๋กœ ๋”ฐ๋กœ ์ž‘์—… ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.)

→ ํ•˜์ง€๋งŒ, ๋ฌธ์ œ ํ•˜๋‚˜๋งŒ์„ ๊ธฐ๋Šฅ ํ•˜๋‚˜๋กœ ๋ณด๋ฉด ์•ˆ๋˜๊ณ  ๋ฌธ์ œ ํ•˜๋‚˜์—์„œ๋„ ๊ตฌํ˜„ํ•ด์•ผํ•  ๊ธฐ๋Šฅ์„ ์„ธ๋ถ€์ ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ดํ›„์— ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•œ ๊ฒƒ์€ ํ•˜๋ฃจ ๋’ค์ธ 3์ผ์ฐจ์— ์ž˜๋ชป๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค.

 

๋”ฐ๋ผ์„œ, develop์—์„œ ๋ฌธ์ œ๋งˆ๋‹ค feature ๋ธŒ๋žœ์น˜๋กœ ๋ถ„๊ธฐํ•˜์—ฌ ์ž‘์—…ํ•˜๊ณ  develop ๋ธŒ๋žœ์น˜์— merge ํ•œ๋‹ค.

๊ทธ ํ›„, develop ๋ธŒ๋žœ์น˜์—์„œ release ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  QA ์ž‘์—…์„ ๊ฑฐ์นœ๋‹ค. (์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ๋งž์ดํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค.)

QA ์ž‘์—…์ด ์ž˜ ์™„๋ฃŒ ๋˜์—ˆ๋‹ค๋ฉด main branch๋กœ mergeํ•˜์—ฌ ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•œ๋‹ค.

 

์šฐ์„ , develop branch๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ž˜ ์ƒ์„ฑ๋˜์—ˆ๋Š” ์ง€ ํ™•์ธํ–ˆ๋‹ค.

git branch develop

# r ์˜ต์…˜์œผ๋กœ remove branch๋ฅผ ํ™•์ธ
git branch -r

# a ์˜ต์…˜์œผ๋กœ ๋ชจ๋“  branch๋ฅผ ํ™•์ธ
git branch -a

git checkout [๋ธŒ๋žœ์น˜๋ช…] ์„ ํ†ตํ•ด ํ•ด๋‹น [๋ธŒ๋žœ์น˜๋ช…] ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

git checkout develop

git push origin [๋ธŒ๋žœ์น˜๋ช…] : ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ช…์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์›๊ฒฉ ์ €์žฅ์†Œ์ธ github๋กœ ์ ์šฉ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

git checkout origin develop

 

๋ณธ๊ฒฉ์ ์œผ๋กœ, ๋ธŒ๋žœ์น˜๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์ „์— ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋“ค์„ ํ†ตํ•ด ์–ด๋–ป๊ฒŒ ์ ์šฉํ•˜๋Š” ์ง€ ์•Œ์•„๋ณด์ž.

https://velog.io/@j1mmyson/Git-Git-Branch-์–ด๋–ป๊ฒŒ-์“ฐ๋Š”๊ฑธ๊นŒ

 

[Git] Git Branch ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”๊ฑธ๊นŒ?

Git branch ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!

velog.io

https://velog.io/@kim-jaemin420/Git-branch-naming

 

Git branch & naming

ํด๋ก  ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•˜๋ ค๋Š”๋ฐ, ํ˜„์—…์—์„œ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ ์„œ ํ•˜๋ ค๋‹ˆ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์—๋„ ๊ทœ์น™์ด ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์–ด ์ฐพ์•„๋ณด๊ณ  ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋”๋ถˆ์–ด, ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ์„ ์•Œ๊ธฐ์— ์•ž์„œ ๋ธŒ๋žœ์น˜ ์ข…๋ฅ˜

velog.io

https://mylko72.gitbooks.io/git/content/branch/branch_type.html

 

๋ธŒ๋žœ์น˜์˜ ์ข…๋ฅ˜ · Git, ๋ถ„์‚ฐ๋ฒ„์ „ ๊ด€๋ฆฌ์‹œ์Šคํ…œ

 

mylko72.gitbooks.io

 

feature branch ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

// feature ๋ธŒ๋žœ์น˜(feature/login)๋ฅผ 'develop' ๋ธŒ๋žœ์น˜('master' ๋ธŒ๋žœ์น˜์—์„œ ๋”ฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค!)์—์„œ ๋ถ„๊ธฐ
$ git checkout -b feature/login develop

/* ~ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž‘์—… ์ˆ˜ํ–‰ ~ */

/* feature ๋ธŒ๋žœ์น˜์—์„œ ๋ชจ๋“  ์ž‘์—…์ด ๋๋‚˜๋ฉด */
// 'develop' ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•œ๋‹ค.
$ git checkout develop

// 'develop' ๋ธŒ๋žœ์น˜์— feature/login ๋ธŒ๋žœ์น˜ ๋‚ด์šฉ์„ ๋ณ‘ํ•ฉ(merge)ํ•œ๋‹ค.
# --no-ff ์˜ต์…˜: ์ƒˆ๋กœ์šด ์ปค๋ฐ‹ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด 'develop' ๋ธŒ๋žœ์น˜์— merge ํ•œ๋‹ค. 
# ์ด๊ฒƒ์€ feature ๋ธŒ๋žœ์น˜์— ์กด์žฌํ•˜๋Š” ์ปค๋ฐ‹ ์ด๋ ฅ์„ ๋ชจ๋‘ ํ•ฉ์ณ์„œ ํ•˜๋‚˜์˜ ์ƒˆ๋กœ์šด ์ปค๋ฐ‹ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด 'develop' ๋ธŒ๋žœ์น˜๋กœ merge ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
$ git merge --no-ff feature/login

// -d ์˜ต์…˜: feature/login ์— ํ•ด๋‹นํ•˜๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•œ๋‹ค.
$ git branch -d feature/login

// 'develop' ๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ ์ค‘์•™ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฐ๋‹ค.
$ git push origin develop

// ์›๊ฒฉ์ €์žฅ์†Œ(๊นƒํ—ˆ๋ธŒ)์—์„œ๋„ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•ด์ค€๋‹ค.
$ git push origin --delete feature/login

develop branch ์—์„œ 1๋ฒˆ ๋ฌธ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ๋‹ด๋‹นํ•  feature/problem_1 branch ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ž˜ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

git branch feature/problem_1

โš ๏ธ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

1๋ฒˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , 1๋ฒˆ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
SystemInfo is not supported on this operating system.

JDK ๋ฒ„์ „์ด ๋งž์ง€ ์•Š์•„์„œ ๋‚˜์˜จ ๋ฌธ์ œ์˜€๋‹ค. ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋˜‘๊ฐ™์ด ๋”ฐ๋ผํ•ด์„œ JDK 17 → JDK 11๋กœ ๋ฐ”๊ฟ” ํ•ด๊ฒฐํ–ˆ๋‹ค.

์ฐธ๊ณ  ๋งํฌ: https://milenote.tistory.com/63

 

[Intellij / ์ธํ…”๋ฆฌ์ œ์ด] ํ”„๋กœ์ ํŠธ ๋ฒ„์ „ ์•ˆ๋งž๋Š” ํ˜„์ƒ ( Execution failed for task ':compileJava'. )

์›์ธ - intellij๋ฅผ ์„ค์ •ํ•  ๋•Œ ๊ธฐ๋ณธ jdk ๋ฒ„์ „์— ์ฐจ์ด ๋•Œ๋ฌธ์— ๋นŒ๋“œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ง‘ - jdk 11 ํšŒ์‚ฌ - jdk 1.8 ํ•ด๊ฒฐ 1. File > Project Settings > Project > Project SDK SDK ๋ฒ„์ „์„ ์ƒˆ๋กœ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์„œ ๋ฒ„์ „์„ ๋งž์ถ˜๋‹ค.

milenote.tistory.com

 

๊ทธ๋ ‡๊ฒŒ 1๋ฒˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋‹ค์‹œ test ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.

๋ฌด์‚ฌํžˆ ํ†ต๊ณผ ๋์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์ด์ œ, ํŒŒ์ผ์„ add ํ•˜๊ณ  ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „ ์–ด๋–ค ์‹์œผ๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ• ์ง€ ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๊ทœ์น™์„ ์ •ํ•œ ํ›„ ์ง„ํ–‰ํ•œ๋‹ค.

https://velog.io/@palza4dev/TIL-28.-GitGithub-์ปค๋ฐ‹-๋ฉ”์‹œ์ง€-์ž‘์„ฑ๋ฒ•

 

TIL 28. Git&Github ๊นƒ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด์™€ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ๋ฒ•

๊นƒ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด์™€ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ๋ฒ•์„ ์•Œ์•„๋ณด์ž

velog.io

https://velog.io/@u-nij/Git-Flow-Commit-message-Issue-์ด์šฉํ•ด์„œ-ํ˜‘์—…ํ•˜๊ธฐ

 

Git-Flow & Commit message & Issue ์ด์šฉํ•ด์„œ ํ˜‘์—…ํ•˜๊ธฐ

ํ˜‘์—…ํ•  ๋•Œ ์ •๋ง ์š”๊ธดํ•˜๊ฒŒ ์“ฐ์ด๋Š” Git-Flow ์ „๋žต๊ณผ commit message & Issues ๊ด€๋ฆฌ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

velog.io

[ commit message ๊ทœ์น™ ]

Add: ๋ ˆ์ด์•„์›ƒ / ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Remove: ๋‚ด์šฉ ์‚ญ์ œ (ํด๋” / ํŒŒ์ผ ์‚ญ์ œ)

Modify: ์ˆ˜์ • (JSON ๋ฐ์ดํ„ฐ ํฌ๋งท ๋ณ€๊ฒฝ / ๋ฒ„ํŠผ ์ƒ‰๊น” ๋ณ€๊ฒฝ / ํฐํŠธ ๋ณ€๊ฒฝ)

Fix: ๋ฒ„๊ทธ/์˜ค๋ฅ˜ ํ•ด๊ฒฐ

Refactor: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง (๋ฉ˜ํ†  ๋ฆฌ๋ทฐ ๋ฐ˜์˜ / ์Šค์Šค๋กœ ๋ฆฌํŒฉํ† ๋ง / ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ / ๋ถˆํ•„์š” ์ฝ”๋“œ ์ œ๊ฑฐ / ์„ฑ๋Šฅ ๊ฐœ์„ )

Docs: ๋ฌธ์„œ์— ๊ด€๋ จ๋œ ์ˆ˜์ •์ž‘์—…(README.md ๋“ฑ)

git commit -m “๋‚ด์šฉ” ์„ ํ†ตํ•ด commit ํ•œ๋‹ค.

git commit -m "ํƒ€์ž…: ๋‚ด์šฉ ์š”์•ฝ
๊ธฐ๋Šฅ ๊ตฌํ˜„ 1
๊ธฐ๋Šฅ ๊ตฌํ˜„ 2
"

develop branch ์—์„œ feature ๋ธŒ๋žœ์น˜๋ฅผ merge ํ•œ๋‹ค.

๊ทธ ํ›„, feature branch ๋Š” ์‚ญ์ œํ•˜๊ณ  develop branch ์— push ํ•œ๋‹ค.

์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” feature branch ๋„ ์ง€์›Œ์ค€๋‹ค.

# develop branch ๋กœ ์ด๋™
git checkout develop

# feature branch ์˜ ๋‚ด์šฉ์„ develop branch ์— ๋ณ‘ํ•ฉ
git merge --no-ff feature/problem_1

# local ์— ์žˆ๋Š” feature branch ์‚ญ์ œ
git branch -d feature/problem_1

# develop branch ์— push
git push origin develop

# ์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” feature branch ๋„ ์‚ญ์ œ
git push origin --delete feature/problem_1

github ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด๋ณด๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด develop branch ์— ์ž˜ ์ ์šฉ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ, IntelliJ์˜ ํ•˜๋‹จ์— ์žˆ๋Š” git log ๋ฅผ ํ†ตํ•ด branch graph ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

develop branch์— 1๋ฒˆ ๋ฌธ์ œ์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์™„๋ฃŒํ•˜์˜€๋‹ค.

 

*์ถ”๊ฐ€ ์ž‘์—… ์‚ฌํ•ญ

1๋ฒˆ ๋ฌธ์ œ๋ฅผ develop branch ์— ๋„ฃ๊ณ  ๋’ค๋Šฆ๊ฒŒ ๊นจ๋‹ฌ์€ ์ ์ด ์žˆ๋‹ค.

๋ฌธ์ œ๋ณ„๋กœ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ๋„ ๋งž๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ•œ ๋ฒˆ์— ๊ตฌํ˜„ํ•˜์ง€ ๋ง๊ณ  ๊ทธ ๊ณผ์ •์†์—์„œ๋„ ์„ธ๋ถ€์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ๋‚˜๋ˆ„์–ด ์ž‘์—…ํ•ด์•ผ ํ•œ๋‹ค.

1๋ฒˆ ๋ฌธ์ œ๋Š” ์ผ๋‹จ ์ด๋ ‡๊ฒŒ ์ง„ํ–‰ํ•ด๋‘๊ณ , 2๋ฒˆ ๋ฌธ์ œ ์ดํ›„๋กœ๋Š” ๋” ์„ธ๋ถ€์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด commit ํ•˜๊ณ  ๋ธŒ๋žœ์น˜ ์ž‘์—…์„ ์ง„ํ–‰ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

๋‚˜์ค‘์— ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์—์„œ 1๋ฒˆ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์ง„ํ–‰ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

 

ํด๋ฆฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋“ค์„ ์ฐธ๊ณ ํ•˜๊ณ , release ๋‹จ๊ณ„์—์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ•ด ์ฃผ์–ด์•ผ ํ•  ๋“ฏํ•˜๋‹ค.

woowacourse-docs/pr_checklist.md at main · woowacourse/woowacourse-docs

 

GitHub - woowacourse/woowacourse-docs: ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค ๋ฌธ์„œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ €์žฅ์†Œ

์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค ๋ฌธ์„œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ €์žฅ์†Œ. Contribute to woowacourse/woowacourse-docs development by creating an account on GitHub.

github.com

[์šฐํ…Œ์ฝ”] [ํ”„๋ฆฌ์ฝ”์Šค] ํด๋ฆฐ ์ฝ”๋“œ ์ฒดํฌ ๋ฆฌ์ŠคํŠธ ์ฝ๊ธฐ

 

[์šฐํ…Œ์ฝ”] [ํ”„๋ฆฌ์ฝ”์Šค] ํด๋ฆฐ ์ฝ”๋“œ ์ฒดํฌ ๋ฆฌ์ŠคํŠธ ์ฝ๊ธฐ

์šฐํ…Œ์ฝ” ํ”„๋ฆฌ์ฝ”์Šค์˜ ํด๋ฆฐ์ฝ”๋“œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ฆฌํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ” ๊ฒฝํ—˜์ด ์—†๋Š” ์‚ฌ๋žŒ์˜ ์ž…์žฅ์—์„œ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ” ๋ฌด๊ฒฝํ—˜, ์ฝ”ํ‹€๋ฆฐ 3์ผ์ฐจ ์ž…๋‹ˆ๋‹ค. ๋ ˆํผ๋Ÿฐ์Šค ์ž๋ฃŒ์— ํฌ์ปค์Šค๋ฅผ ๋งž์ถฐ์„œ ์ฝ์–ด์ฃผ์„ธ

automation-slave.tistory.com

TIL/google java style guide.md at master · binghe819/TIL

 

GitHub - binghe819/TIL: ๐Ÿ“š Today I Learned. ๊ธฐ๋กํ•˜์ž.

๐Ÿ“š Today I Learned. ๊ธฐ๋กํ•˜์ž. Contribute to binghe819/TIL development by creating an account on GitHub.

github.com

 

์˜ˆ์™ธ ์ฒ˜๋ฆฌ(์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๊ฐ’๋“ค์— ๋Œ€ํ•œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ)๋ฅผ ์„ธ๋ถ€์ ์œผ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ• ๊นŒ ์‹ถ์–ด์„œ, custom exception ์„ ์•Œ์•„๋ณด์•˜๋‹ค.

custom exception์„ ์–ธ์ œ ์จ์•ผ ํ• ๊นŒ?

 

custom exception์„ ์–ธ์ œ ์จ์•ผ ํ• ๊นŒ?

์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค์˜ ๋‘ ํฌ๋ฃจ์ธ ์˜ค๋ Œ์ง€์™€ ์šฐ๊ฐ€ ์‹ธ์šฐ๊ณ  ์žˆ๋‹ค. ์™œ ์‹ธ์šฐ๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋Ÿฌ ๊ฐ€๋ณผ๊นŒ? ์˜ค๋ Œ์ง€ : ์•„๋‹ˆ ๊ตณ์ด ์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ ์•ˆ ์จ๋„ ๋ฉ๋‹ˆ๋‹ค!! ์šฐ : ์•„๋‹™๋‹ˆ๋‹ค!! ์จ์•ผ ํ•ฉ๋‹ˆ๋‹ค!!! ์‚ฌ์šฉ์ž ์ •์˜

tecoble.techcourse.co.kr

๋ฌด๋ถ„๋ณ„ํ•œ ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ •์˜

 

๋ฌด๋ถ„๋ณ„ํ•œ ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ •์˜

๋ฌด๋ถ„๋ณ„ํ•œ ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ •์˜ ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค 3๊ธฐ - ๋ธŒ๋ผ์šดํŒ€ ํฌ๋ฃจ๋“ค๊ณผ ๋‚˜๋ˆ„์—ˆ๋˜ 'ํ‘œ์ค€ ์˜ˆ์™ธ ๋˜๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ์„ ํƒ์˜ ๊ทผ๊ฑฐ'๋ฅผ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด์ „๊นŒ์ง€๋Š” ์•„๋ฌด ๊ทผ๊ฑฐ ์—†์ด ํ•ญ์ƒ ์ปค์Šคํ…€ ์˜ˆ์™ธ๋ฅผ

www.blog.ecsimsw.com

→ ์ œํ•œ ์‚ฌํ•ญ: ์ด๋ฏธ ํ•œ ๋ฒˆ ๊ฑฐ์น˜๊ณ  ์˜จ ์ž…๋ ฅ๊ฐ’๋“ค์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋‚ด๊ฐ€ ๋”ฐ๋กœ ์˜ˆ์™ธ ์‚ฌํ•ญ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ์˜ค๋ฒ„ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ฉฐ ๋น„ํšจ์œจ์ ์ด๋‹ค.

์ฆ‰, ์ œํ•œ ์‚ฌํ•ญ์— ์—†๋Š” ์˜ˆ์™ธ๋งŒ ์ฒ˜๋ฆฌํ•ด์ฃผ๋„๋ก ํ•˜์ž.

 

๋ณธ๊ฒฉ์ ์ธ ๊ฐœ๋ฐœ์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—, ๊ธฐ๋Šฅ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ž‘์„ฑํ•ด๋ณด์•˜๋‹ค.

์˜ˆ์™ธ ์‚ฌํ•ญ์„ ๋‹ค ์ ์–ด๋†“์•˜์ง€๋งŒ, ์œ„์™€ ๊ฐ™์€ ์ด์œ ๋กœ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•˜๋‹ค.

 

1๋ฒˆ
[x] ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์˜ ๊ฐ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ๋”ํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์˜ ๊ฐ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ๊ณฑํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ธฐ๋Šฅ(4๋ฒˆ ๊ณผ์ •)
[x] ์ ์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ๋†’์€ ์‚ฌ๋žŒ์„ ์•Œ์•„๋‚ด๋Š” ๊ธฐ๋Šฅ(5๋ฒˆ ๊ณผ์ •)

2๋ฒˆ
[x] cryptogram์—์„œ ์—ฐ์†๋˜๋Š” ๋ฌธ์ž๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ
[x] cryptogram์—์„œ ์—ฐ์†๋˜๋Š” ๋ฌธ์ž๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ํ•œ ๊ฐœ์ด๋ฉด ๊ทธ๋Œ€๋กœ ์ง„ํ–‰, ๋‘ ๊ฐœ์ด์ƒ์ด๋ฉด ์ œ๊ฑฐ
[x] cryptogram์—์„œ ์—ฐ์†๋˜๋Š” ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ

3๋ฒˆ
[x] ์ˆซ์ž๊ฐ€ 1๋ถ€ํ„ฐ n๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ํ•ด๋‹น ์ˆซ์ž์— 3, 6, 9๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ(๋ฐ•์ˆ˜ ํšŸ์ˆ˜ ์ฒดํฌํ•˜๋Š” ๊ธฐ๋Šฅ)

4๋ฒˆ
[x] ๊ฐœ๊ตฌ๋ฆฌ ์‚ฌ์ „์— ๋งž๊ฒŒ, ๋ฌธ์ž๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ์•ŒํŒŒ๋ฒณ ์™ธ์˜ ๋ฌธ์ž๋Š” ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๋„๋ก ์ฒ˜๋ฆฌ(๊ตฌ๋ถ„)ํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ, ์†Œ๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ

5๋ฒˆ
[x] ๊ฐ ์ง€ํ์™€ ๋™์ „์˜ ๊ฐœ์ˆ˜๋ฅผ ๋„ฃ์„(ํ™•์ธํ• ) ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ/๋ฐฐ์—ด ๊ตฌํ˜„
[x] money๋ฅผ ์ง€ํ ๋ฐ ๋™์ „์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜ ๊ตฌํ˜„
[x] ์˜ค๋งŒ ์›๊ถŒ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ, ์ผ์› ๋™์ „๊นŒ์ง€ ๊ฐ ๋ช‡ ๊ฐœ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ

6๋ฒˆ
[x] ๋ชจ๋“  ๋‹‰๋„ค์ž„์—์„œ, ๊ฐ™์€ ๊ธ€์ž๊ฐ€(๋‘ ๊ธ€์ž ์ด์ƒ) ์—ฐ์†์ ์œผ๋กœ ์žˆ๋Š”์ง€ ํ™•์ธ ํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ํ•ด๋‹น ์ด๋ฉ”์ผ์„ ๋‹ด๋Š” ๋ฆฌ์ŠคํŠธ/๋ฐฐ์—ด ๊ตฌํ˜„
[x] ์ด๋ฉ”์ผ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ์ด๋ฉ”์ผ ์ค‘๋ณต ์‹œ, ํ•˜๋‚˜๋งŒ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ

7๋ฒˆ
[x] friends์˜ ์›์†Œ์—์„œ, user ์•„์ด๋””๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ
[x] ์žˆ๋‹ค๋ฉด, ๋ช‡ ๊ฐœ ์ธ์ง€ ์นด์šดํŠธํ•˜๋Š” ๊ธฐ๋Šฅ(์‚ฌ์šฉ์ž์™€ ํ•จ๊ป˜ ์•„๋Š” ์นœ๊ตฌ์˜ ์ˆ˜)

 

 

๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ์„ฑ๊ณต์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ๋Œ์•„๊ฐ„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์ž๋ฐ”์˜ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•(๋ฌธ์ž์—ด ์ ‘๊ทผ๋ฒ•…)๋„ ๋งŽ์ด ๊นŒ๋จน์—ˆ์—ˆ๊ณ , ์ž๋ฐ”์—์„œ์˜ ์ž๋ฃŒ๊ตฌ์กฐ set, map์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ฒ˜์Œ์ด๋ผ ๊ต‰์žฅํžˆ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ ธ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ, release ๋ธŒ๋žœ์น˜ ์‚ฌ์šฉ๋ฒ•์ด๋‹ค.

// release ๋ธŒ๋žœ์น˜(release-1.2)๋ฅผ 'develop' ๋ธŒ๋žœ์น˜('master' ๋ธŒ๋žœ์น˜์—์„œ ๋”ฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค!)์—์„œ ๋ถ„๊ธฐ
$ git checkout -b release-1.2 develop

/* ~ ๋ฐฐํฌ ์‚ฌ์ดํด์ด ์‹œ์ž‘ ~ */

/* release ๋ธŒ๋žœ์น˜์—์„œ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ฐ€ ๋˜๋ฉด */
// 'master' ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•œ๋‹ค.
$ git checkout master

// 'master' ๋ธŒ๋žœ์น˜์— release-1.2 ๋ธŒ๋žœ์น˜ ๋‚ด์šฉ์„ ๋ณ‘ํ•ฉ(merge)ํ•œ๋‹ค.
# --no-ff ์˜ต์…˜: ์œ„์˜ ์ถ”๊ฐ€ ์„ค๋ช… ์ฐธ๊ณ 
$ git merge --no-ff release-1.2

// ๋ณ‘ํ•ฉํ•œ ์ปค๋ฐ‹์— Release ๋ฒ„์ „ ํƒœ๊ทธ๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค.
$ git tag -a 1.2

/* 'release' ๋ธŒ๋žœ์น˜์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ 'develop' ๋ธŒ๋žœ์น˜์—๋„ ์ ์šฉ */
// 'develop' ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•œ๋‹ค.
$ git checkout develop

// 'develop' ๋ธŒ๋žœ์น˜์— release-1.2 ๋ธŒ๋žœ์น˜ ๋‚ด์šฉ์„ ๋ณ‘ํ•ฉ(merge)ํ•œ๋‹ค.
$ git merge --no-ff release-1.2

// -d ์˜ต์…˜: release-1.2์— ํ•ด๋‹นํ•˜๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•œ๋‹ค.
$ git branch -d release-1.2

์ตœ์ข…์ ์œผ๋กœ, git log ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

github ์—๋Š” main ๊ณผ develop branch ๋งŒ ๋‚จ๊ฒŒ๋œ๋‹ค.

๋ฆฌํŒฉํ† ๋ง ํ•˜๊ธฐ ์ „, tag ๋ฅผ ์‚ฌ์šฉํ•ด ์ €์žฅํ•˜๊ณ , ๋ฆฌํŒฉํ† ๋ง ํ•œ ํ›„์—๋„ tag ๋ฅผ ํ†ตํ•ด ์ €์žฅํ•˜์—ฌ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ–ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ , pull request๋ฅผ ํ†ตํ•ด github์— ์ œ์ถœํ•˜๊ณ  ํ™ˆํŽ˜์ด์ง€์—๋„ ์ œ์ถœ ์™„๋ฃŒ!


์ด๋ฒˆ ๊ณผ์ œ๋Š” ์ „๊ณต์ž์—๊ฒŒ๋„ ์กฐ๊ธˆ์€ ๋ฒ…์ฐผ๋˜ 1์ฃผ์ฐจ์˜€๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ, ๋น„์ „๊ณต์ž์ด์‹  ๋ถ„๋“ค์€ ๋ฏธ์…˜์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ ๋” ๋งŽ์ด ๊ณ ๋˜์‹ค ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ €๋Š” ๋‚˜๋ฆ„ ํ•™๊ต ํ”„๋กœ์ ํŠธ๋กœ git, github ๋ฅผ ํ†ตํ•ด ํ˜‘์—…์„ ํ•˜๋ฉด์„œ ์–ด๋А ์ •๋„ branch ์„ ์‚ฌ์šฉํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜, ์ด๋ ‡๊ฒŒ 'ํ˜ผ์ž์„œ' ๊ตฌ์ฒด์ ์œผ๋กœ ๊ธฐ๋Šฅ ๋ณ„๋กœ branch ๋ฅผ ๋‚˜๋ˆ ๊ฐ€๋ฉฐ ์ž‘์—…ํ•ด ๋ณธ ๊ฒƒ์€ ์ด๋ฒˆ์ด ์ฒ˜์Œ์ด์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ, ์ด๋ฒˆ ๊ธฐํšŒ๋ฅผ ๊ฒฝํ—˜์œผ๋กœ branch ๋ฅผ ์กฐ๊ธˆ ๋” ์ดํ•ดํ•˜๊ณ  ์ง์ ‘ ๋ถ€๋”ชํ˜€๊ฐ€๋ฉด์„œ ์ ์ฐจ ์ฒด๋“ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

๋˜ํ•œ, ๋‹จ์ˆœํžˆ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ ๋ฟ ๋งŒ ์•„๋‹ˆ๋ผ, ์ž๋ฐ”์˜ ํด๋ฆฐ ์ฝ”๋“œ ์ปจ๋ฐด์…˜์„ ์ง€์ผœ๊ฐ€๋ฉฐ ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ์‰ฝ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ๊ตฌํ˜„๋„ ์šฐ์„ ์ด์ง€๋งŒ, ๊ทœ์œจ์„ ์ง€ํ‚ค๋„๋ก ๋ฆฌํŒฉํ† ๋ง ํ•˜๋Š” ๊ณผ์ •์€ ๋งŽ์ด ๋ฏธ์ˆ™ํ–ˆ์ง€๋งŒ ๋„์ „ํ•ด ๋ณด์•˜๋‹ค๋Š” ๊ฒฝํ—˜์ด ์ข‹์•˜๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

1์ฃผ์ฐจ์ธ๋ฐ๋„ ์–ป์–ด๊ฐ€๋Š” ๊ฒฝํ—˜๋“ค์ด ์ •๋ง ๋งŽ์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

2์ฃผ์ฐจ ๋ฏธ์…˜์—๋Š” ๋” ์™„๋ฒฝํžˆ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์€ ์š•๊ตฌ๊ฐ€ ์ƒ๊ธฐ๋„ค์š”!

 

์ด๋ ‡๊ฒŒ, ๋ฐฐ์šธ ์ˆ˜ ์žˆ๊ณ  ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.