[๐ฑ ์ธํ์ฝ ์ธ์ ํ๊ธฐ 2 - PR vs SC]
์ธํ์ฝ ์ธ์ ํ๊ธฐ ๊ทธ ๋๋ฒ์งธ๋ฅผ ์ฌ๋ฆฝ๋๋ค. [๐ ์ข์ ์ฝ๋๋ฆฌ๋ทฐ๋?] > ์ฝ๋ ๋ณ๊ฒฝ ํฌ๊ธฐ, ์์ ๋ช ํ์ฑ, ๋น ๋ฅธ ์๋ ์ข์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ ํด์ค๋ณด๊ณ ๋ ์ถ๊ณ ๋ฐ์๋ณด๊ณ ๋ ์ถ์ ๊ทธ๋ ๊ธฐ์ ๋ ์ด๋ ค์ด ๊ฒ์ด๋ผ ์๊ฐํฉ๋๋ค. ๊ฐ๋ น ์ด๋ ํ ๊ธฐ๋ฅ์ ๋ง๋ค ๋ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ธฐ ๊ท์ฐฎ๊ฑฐ๋ ์ด์ ์์ ์ ๋ฌธ์ ๊ฐ ๊ฑฐ์ฌ๋ ค์ ์ด๊ฒ์ ๊ฒ ๊ณ ์น๋ค๋ณด๋ฉด ๋ฆฌ๋ทฐ์ด์ ์์๋ 500์ค์ด ๋๋ ์ฝ๋์ ํ๋๊ฐ ๋ฐ๋ ค์ค๊ฒ ๋๋ ๊ฒ ๊ฐ์ต๋๋ค. [๐ ์ฝ๋์ ํ๋ ์์ ๋น ์ง๋ ๋ฆฌ๋ทฐ์ด ๐ซ ] ์๊ฐ์ด ์๋ ๋ฆฌ๋ทฐ์ด๋ ์ผ๋จ ํฐ ๋ฌธ์ ๊ฐ ์๋์ง ํ์ธ ํ ํ์ '์ผ๋จ' ๋จธ์งํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋๋ถํฐ ์ง์ฅ์ด ์์๋ฉ๋๋ค. ์ด๋ฐ ์์ ๋ค์ด ์์ฌ conflict๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํด๋ ๋ฆฌ๋ทฐ์์ ๊ฑฐ๋ฅด์ง ๋ชปํฉ๋๋ค. ๊ฒฐ๊ตญ ๋ชจ๋ ์์ ์ ๋กค๋ฐฑํ๊ฑฐ๋ ๊ทธ ๋๋ถํฐ ์์ธ์ ์ฐพ๊ฒ ๋ฉ๋๋ค. ๋น์ฐํ ๋ฐฐํฌ๋ ๋ฆ์ด์ง๋๋ค. [Stacked Changes๋ฅผ ์ฐ๋ฉด ๋ญ๊ฐ ๋ฌ๋ผ? ๐คทโโ๏ธ] ๋ณดํต ์ด๋ ๊ฒ ์์ ํฉ๋๋ค 1. ํ๋์ ํผ์ฒ ๋ธ๋์น๋ฅผ ๋ฐ์ 2. DB commit 3. ๋น์ฆ๋์ค commit 4. UI commit 5. PR (๊ทธ๋ฆฌ๊ณ ๋ฆฌ๋ทฐ์ด์ ๊ณ ํต) ์ด ๋ฐฉ์์ ๋ฐ๊ฟ๋ณด๋ ๊ฒ๋๋ค 1. ํ๋์ ๋ธ๋์น๋ฅผ ๋ฐ์ 2. DB commit 3. DB์ ๋ํ PR์ ๋ณด๋ด๊ณ ์ด์ด์ ๋น์ฆ๋์ค ๋ธ๋์น๋ฅผ 2์ ์์ ๋ธ๋์น์์ ๋ด๋ค 4. 2-3์ ๊ณผ์ ์ UI์์ ๋ฐ๋ณตํ๋ค. 5. ๋ชจ๋ ์์ ์ด ๋๋๋ฉด UI -> ๋น์ฆ๋์ค -> DB -> ๋ง์คํฐ๋ก ๋ณํฉํ๋ค. 6. ๋ฆฌ๋ทฐ์ด๋ ์ด๋ฏธ ์์ ๋จ์์ ์์ ์ f/uํ๊ณ ์์์ผ๋ฏ๋ก ๋ฆฌ๋ทฐํ๊ธฐ ์ฌ์ ํ์คํ ๋ฆฌ๋ทฐ์ด ์ ์ฅ์์ ๋ฆฌ๋ทฐ๋ฅผ ํ๋ ๋ถ๋ด์ด ์ค์ด๋ค ๊ฒ ๊ฐ๊ธด ํ๋ค์ ๐ค [PR vs SC ์ ๋ฆฌ] PR 1. ๋ฉ์ธ ๋ธ๋์น์์ ๋ธ๋์น๋ฅผ ๋ด๋ค 2. ๊ธฐ๋ฅ ๋จ์์ ๋ณ๊ฒฝ 3. ์์ ์ ์ฒด ๋ณ๊ฒฝ๋ถ ๋น๊ต 4. ๋ณํ๋ฅผ ๋ฉ์ธ๊ณผ ๋น๊ต SC 1. ์ด์ ๋ณํ๊ฐ ์ผ์ด๋ ๋ธ๋์น์์ ๋ธ๋์น๋ฅผ ๋ด๋ค 2. ์ฝ๋ ๋ณํ ๋จ์ ๋ณ๊ฒฝ 3. Stack ๋ณ๋ก ๋น๊ต 4. ๋ณํ๋ฅผ ํ๋ํ๋ ์์๋๊ฐ๋ค. [์ธ์ PR์ ์ฐ๊ณ SC๋ฅผ ์ธ๊น?] - PR : ์ฌ๋ฌ ํ์ด ํจ๊ป ์์ ํ๋ ๊ฒฝ์ฐ, ์ฆ์ ๋ฆฌ๋ทฐ ์ฒ๋ฆฌ๊ฐ ์ด๋ ค์ด ๊ฒฝ์ฐ - SC : ์์ ๋ณ๊ฒฝ์ด ๋ง์ ๊ฒฝ์ฐ, ํ ๋ด์์ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ ์ด๋ฏธ ๊ท๋ชจ๊ฐ ์๋ ํ์ด๋ผ๋ฉด PR์์ SC๋ก ๊ฐ๊ธฐ ํ๋ค ๊ฒ ๊ฐ์ง๋ง, ๋น ๋ฅด๊ฒ MVP๋ฅผ ๋ง๋ค์ด๋ด์ผ ํ๋ ์์ ๊ท๋ชจ์ ํ์์ SC๋ฅผ ์ฌ์ฉํด๋ณผ ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ์๋ ์ฌ๋ฌ ์ ๋ต์ด ์๋ค๋ ๊ฑธ ์๊ฒ ๋๋ค์.