[10์ฃผ์ฐจ] ์ด๊ฒ ๋ง๋.
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 ํ์ผ๋ก ๋ด์ฉ, ๋์์ธ ์น์ด๋ณด๊ธฐ