๐ŸŒฑ SeSac/์Šคํ„ฐ๋”” ์ผ๊ธฐ

[10์ฃผ์ฐจ] ์ด๊ฒŒ ๋งž๋‚˜.

Jane K 2022. 9. 15. 15:57

7/4
์˜ค๋Š˜์€ ์ €๋ฒˆ์— ๋ฐฐ์šด git ๊ธฐ์ดˆ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณต์Šตํ•˜๊ณ , branch, merge ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค.
์†”์งํžˆ ์ •ํ™•ํžˆ ์•Œ์•„๋“ฃ์ง„ ๋ชปํ–ˆ์ง€๋งŒ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๊ท€์ฐฎ๊ฒŒ ์ง์ ‘ ์˜ฌ๋ฆฌ์ง€ ์•Š๊ณ  ๋‚ด๊ฐ€ ์ˆ˜์ •ํ•œ ๊ธฐ๋ก๋„ ๋‚จ๊ธฐ๋ฉด์„œ ์ „์— ํ–ˆ๋˜ ๊ฒƒ์œผ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋‹ˆ ๊ต‰์žฅํžˆ ๋งค๋ ฅ์ ์ธ ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
branch ๋Š” ๋‚˜๋ญ‡๊ฐ€์ง€๋ผ๋Š” ๋œป์ธ๋ฐ ๋‚˜๋ฌด์˜ ๊ฐ€์ง€์ฒ˜๋Ÿผ ๊ธฐ๋Šฅ๋ณ„๋กœ ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜๋กœ ๋‚˜๋ˆ ์„œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ github ์— ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋‰œ branch ๋ฅผ ํ•ฉ์ณ์„œ ๋ฏธ๋ฆฌ ํ•œ๋ฒˆ ๊ตฌ๋™ํ•ด๋ณด๋Š” ๊ฒƒ์„ develop branch ์—์„œ ํ•˜๊ณ  ์ตœ์ข…์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” branch ๋ฅผ main ์ด๋ผ๊ณ  ํ•œ๋‹ค. 
merge ๋Š” ๊ฐ ๋‚˜๋‰œ branch ๋ฅผ ํ•ฉ์ณ์ฃผ๋Š” ์ž‘์—…์„ ๋งํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์˜ค๋ฅ˜๋„ ๋งŽ์ด ๋‚˜๊ณ  ๋ฌธ์ œ๊ฐ€ ๋งŽ์ด ์ƒ๊ฒจ์„œ ๋ณดํ†ต ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋Š” ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค. ํ™•์‹คํžˆ ๋‹ค๋ฅธ ๊ต์œก์ƒ๋“ค๋„ ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์ด ๋‚˜์„œ ํž˜๋“ค์–ด ํ–ˆ๋‹ค. ๋‚˜๋Š” ์–ด์ฐŒ์ €์ฐŒ ๊ฐ•์‚ฌ๋‹˜์˜ ์ฝ”๋“œ๋ฅผ ์ž˜ ๋”ฐ๋ผ์ณ์„œ ์šด์ข‹๊ฒŒ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์ง€ ์•Š์•˜์ง€๋งŒ ํ›„์— ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์„ ๋•Œ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ• ๊นŒ๋ด ๊ฑฑ์ •์ด๋‹ค.
cbp ํ”„๋กœ์ ํŠธ ๋ชจ์ž„์—์„œ๋Š” ๊ฐ ํƒญ์— ๋“ค์–ด๊ฐˆ ๋‚ด์šฉ๊ณผ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐพ์•˜๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ์ •๋ฆฌํ•  ๋‚ด์šฉ๋„ ๋ฐฉ๋Œ€ํ•˜๊ณ  ์ „๋ฌธ์ ์ด๋ผ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ๋‹ค. ์ฃผ์š” ํƒ€๊นƒ๋„ 30~40๋Œ€๋‚˜ ๊ธฐ์—…์œผ๋กœ ์ƒ๊ฐํ•ด์„œ ๊น”๋”ํ•˜๊ณ  ์ง๊ด€์„ฑ์žˆ๋Š” ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐพ๊ธฐ ํž˜๋“ค์—ˆ๋‹ค. ์–‘์ด ๋งŽ์•„์„œ ๊ทธ๋Ÿฐ์ง€ ๋‹ค๋“ค ์ค‘๊ฐ„๋งˆ๋‹ค ๋Š˜์–ด์ง€๊ณ  ํž˜๋“ค์–ดํ•ด์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. ์˜ค๋ž˜ ๊ฑธ๋ฆด์ˆ˜๋ก ํž˜๋“ค์–ด์ง€๊ธด ๋งˆ์ฐฌ๊ฐ€์ง€์ผํ…๋ฐ ํ˜‘์—…ํ•  ๋•Œ๋Š” ๋‚˜ ํ˜ผ์ž์˜ ํž˜๋งŒ์œผ๋กœ๋Š” ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. 

7/5
์˜ค๋Š˜์€ 3-way-merge, switch, rebase, stashing ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ๋‹ค.
๋ธŒ๋žœ์น˜๋ฅผ ํ•ฉ์น  ๋•Œ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ merge ์™€ rebase ๊ฐ€ ์žˆ๋‹ค. ๊ทธ ์ค‘ merge ์˜ ์ข…๋ฅ˜๋Š” fast-foward ์™€ 3-way-merge ๊ฐ€ ์žˆ๋‹ค. ๋‹จ์ˆœํžˆ ํฌ์ธํ„ฐ๋ฅผ ์ตœ์‹  ์ปค๋ฐ‹์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์„ fast-forward ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•˜๊ณ  3-way-merge๋Š” ๊ฐ ๋ธŒ๋žœ์น˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ปค๋ฐ‹ 2๊ฐœ์™€ ๊ณตํ†ต์˜ ์กฐ์ƒ 1๊ฐœ(base)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ commit ์„ ๋งŒ๋“ค์–ด๋‚ด์–ด ๋น„๊ตํ•˜๋ฉฐ ๋ณ‘ํ•ฉํ•œ๋‹ค. ์ฆ‰, 3-way-merge ๋Š” ๋ณ€๊ฒฝ๋œ ๊ฒƒ์€ ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์œผ๋กœ ์ ์šฉ๋˜๊ณ  ๋‚ด์šฉ์ด ๋‹ค ๊ฐ™์œผ๋ฉด ๋‹น์—ฐํžˆ ๊ทธ๋ƒฅ ๋‘๊ณ  ์–‘์ชฝ์—์„œ ๋ณ€๊ฒฝ์„ ํ•˜๋Š” ๊ฒƒ์€ conflict ๊ฐ€ ๋œฌ๋‹ค.
์—ฌ๊ธฐ์„œ merge ์™€ rebase ์˜ ์ฐจ์ด์ ์€ Merge ์˜ ๊ฒฝ์šฐ ์‰ฝ๊ณ  ์•ˆ์ „ํ•˜์ง€๋งŒ ์ปค๋ฐ‹ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ์ง€์ €๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ฉด Rebase ๋Š” ์ž˜ ๋ชจ๋ฅด๊ณ  ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์œ„ํ—˜ํ•  ์ˆ˜ ์žˆ์–ด ๊นŒ๋‹ค๋กญ์ง€๋งŒ ์ปค๋ฐ‹ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. rebase ๋Š” base๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์„ค์ •ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด main ๋ธŒ๋žœ์น˜์™€ other ๋ธŒ๋žœ์น˜๊ฐ€ ๋‹ค๋ฅธ commit ์„ ๊ฐ€๋ฆฌํ‚ฌ ๋•Œ main ๋ธŒ๋žœ์น˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” commit ์„ base ๋ฅผ ์‚ผ์•„ ๋น„๊ตํ•˜์—ฌ main ๋ธŒ๋žœ์น˜๋ฅผ ์ƒˆ๋กœ์šด commit ์œผ๋กœ fast-forward ์‹œํ‚ค๋Š” ๊ฒƒ์ด rebase ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์‹œ ๊ฐ€์ง€๋Š” ์ผ์ •ํ•œ ํ•œ ์ค„๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค. ๋‹ค์‹œ ๋งํ•ด, merge ๋Š” commit ๊ธฐ๋ก๊ณผ merge ๊ธฐ๋ก๊นŒ์ง€ ๋‹ค ๋‚จ๋Š” ๋ฐ˜๋ฉด rebase ๋Š” ํ•œ ๊ฐ€์ง€๋กœ ๋ณ‘ํ•ฉ๋˜์–ด ๊ธฐ๋ก์ด ๊น”๋”ํ•˜๋‹ค.
switch ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ checkout ๊ณผ ๋น„์Šทํ•œ ๋ช…๋ น์–ด์ด๋‹ค. checkout ๊ณผ ๋˜‘๊ฐ™์ด $ git switch -c newbranch ํ•˜๋ฉด ๋ธŒ๋žœ์น˜๊ฐ€ ๋งŒ๋“ค์–ด์ง๊ณผ ๋™์‹œ์— ์ด๋™ํ•œ๋‹ค.
stashing ์€ ์ž„์‹œ ์ €์žฅ์„ ๋œปํ•˜๋Š”๋ฐ ์ž ๊น ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ commit ํ•˜์ง€ ์•Š๊ณ  ์ž ์‹œ ๋‚˜์™€์•ผ ํ•  ๋•Œ ์“ฐ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์ž„์‹œ ์ €์žฅ์†Œ์— ๋„ฃ๊ณ , ๋นผ๊ณ , ์‚ญ์ œํ•˜๋Š” ๋“ฑ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
cbp ํ”„๋กœ์ ํŠธ ๋ชจ์ž„์—์„œ๋Š” ์–ด์ œ ์ด์–ด์„œ ๋ฉ”์ธ๊ณผ ์„œ๋ธŒ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋‚ด์šฉ์ •๋ฆฌ์™€ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๊ณ„์†ํ•ด์„œ ์ฐพ์•˜๋‹ค. ๋””์ž์ธ์— ์ข€ ํž˜์„ ์“ฐ๋‹ค๋ณด๋‹ˆ ์ง„ํ–‰์ด ์ž˜ ๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ๋ณด๋‹ค ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์œ„ํ•ด ๊ฐ์ž ๋…ธ๋ ฅ์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ 


7/6
json ํŒŒ์ผ ๊ณ„์† ๋งŒ๋“ฆ

7/7
์ƒ๋‹ด๋ฒ„ํŠผ ๋ ˆํผ๋Ÿฐ์Šค, ์„ธ์ง„๋‹˜ ์–ธ๋‹ˆ๋ถ„ ๊นƒํ—™ ๊ฐ•์˜

7/8
์•„์ด์ฝ˜ ์ฐพ์Œ

7/9
๋งก์€ ์„œ๋ธŒ ํŽ˜์ด์ง€ xd ํŒŒ์ผ๋กœ ๋‚ด์šฉ, ๋””์ž์ธ ์–น์–ด๋ณด๊ธฐ