GitFlow์ GithubFlow ๋น๊ตํ๊ธฐ main ๋ธ๋์น๊ฐ ์๋ ์ด๊ธฐ ๋ธ๋์น์์ ๋ฐ๋ก ๋ค๋ฅธ ๋ธ๋์น๋ฅผ ์์ฑ ํ ์์
์ ์ํํจ ์์
์ด ์๋ฃ๋์ด๋ ๋ฐ๋ก main์ผ๋ก ๋ณํฉ x main ๋ธ๋์น์ ๋ฐ๋ก ์ปค๋ฐํ๊ฒ ๋๋ฉด ์๋ํ๋ก ์ธํ์ฌ ๊ณ ๊ฐ์ด ๋ฐ๋ก ์ฌ์ฉํ ์ ์๊ฒ ๋จ (์ค๋ฅ๊ฐ ์๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ) master : ๋ผ์ด๋ธ ์๋ฒ์์ ์ ํ์ผ๋ก ์ถ์ ๋๋ ๋ธ๋์น develop : ๋ค์ ๋ฒ์ ๊ฐ๋ฐ์ ์ํด ์ฝ๋๋ฅผ ๋ชจ์๋๋ ๋ธ๋์น feature : ํ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๋ธ๋์น (develop ๋ธ๋์น์ ์์ฑ) release : ์ํํธ์จ์ด ๋ฐฐํฌ๋ฅผ ์ค๋นํ๋ ๋ธ๋์น (develop ๋ธ๋์น์ ์์ฑ) hot fixes : ์ด๋ฏธ ๋ฐฐํฌ๋ ๋ฒ์ ์์ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ ๋ธ๋์น ๋ธ๋์น์์ ์์ ํ ํ develop์ ํฉ์นจ Git..
STUDY ๐
์ด๊ณตํ๊ธฐ!๋ชจ๋ํ : ์ํํธ์จ์ด๋ฅผ ๊ฐ ๊ธฐ๋ฅ๋ณ๋ก ๋๋ ๊ฒ ๋ชฉ์ ์ ๋ง๋ ๊ธฐ๋ฅ๋ค๋ก ๋ชจ๋ํํ์ฌ ๋๋๋ ๊ฒ์ด ์ข์ ๋ชจ๋ํ! ๋ชจ๋ : ๋ชจ๋ํ๋ก ๋๋ ์ง ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ง ๊ฒ ๋ชจ๋์ ๊ธฐ๋ฅ์ ๋
๋ฆฝ์ ์ผ๋ก ์ํ๋์ด์ผ ํ๊ณ , ๋ค๋ฅธ ๋ชจ๋๊ณผ๋ ์ฐ๊ด๋๊ฐ ์ ์ด์ผ์ง ์ข์ ๊ฒ ์์ง๋๋ ๋๊ฒ, ๊ฒฐํฉ๋๋ ๋ฎ๊ฒ ๊ฒฐํฉ๋ : ์๋ก ๋ค๋ฅธ ๋ชจ๋ ๊ฐ์ ์ฐ๊ด๋ ๊ด๊ณ, ๊ฐ๋จํ ์ผ๋ง ์ฃผ๊ณ ๋ฐ๊ธฐ Java์์๋ class ๊ฐ์ ๊ฒฐํฉ๋๊ฐ ๋๋ค = ์ฐ๊ด๋๊ฐ ๋๋ค ๋ก ํ๋จ. ํด๋น class๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ฐ๊ด๋ class๋ ๋ณ๊ฒฝํ๊ธฐ. ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด ๋ค๋ฅธ class์์๋ ์ฌ์ฌ์ฉํ๊ธฐ ํ๋ฌ ์์ง๋ : ํ ๋ชจ๋ ๋ด๋ถ ์ ์ฒ๋ฆฌ ์์๋ค ๊ฐ์ ๊ด๊ณ, ์์ง๋๊ฐ ๋ฎ์ผ๋ฉด ์ฌ์ฌ์ฉ๊ณผ ์ดํด๊ฐ ํ๋ฌ
git init touch 0 && git add . && git commit -m "C0" git checkout -b bugFix echo 'bugFix1' > 1 && git add . && git commit -m "C1" echo 'bugFix2' > 2 && git add . && git commit -m "C2" echo 'bugFix3' > 3 && git add . && git commit -m "C3" git log --oneline --graph --all git checkout main echo 'main1' > 1 && git add . && git commit -m "C4" echo 'main2' > 2 && git add . && git commit -m "C5" echo 'm..
git init touch 0 && git add . && git commit -m "C0" git checkout -b bugFix touch 1 && git add . && git commit -m "C1" touch 2 && git add . && git commit -m "C2" touch 3 && git add . && git commit -m "C3" git log --oneline --graph --all git checkout main touch 4 && git add . && git commit -m "C4" touch 5 && git add . && git commit -m "C5" touch 6 && git add . && git commit -m "C6" git log --oneli..
merge: ํก์
rebase: ์ด์ฌ git checkout -b bugFix // bugFix๋ฅผ ๋ง๋ค๊ณ ์ฒดํฌ์์ git commit git checkout main git rebase main bugFix (bugFix์ ๋ด์ฉ์ด main ๋ฐ์ผ๋ก ๊ฐ) = git checkout bugFix + git rebase main
์
๋ฌด ํ๋ก์ธ์ค ๊ธฐํ + ๋์์ธ -> ๊ฐ๋ฐ -> QA -> ๋ฐฐํฌ ๋์์ธ์ ํ ๋๋ก ๊ฐ๋ฐ์ด ํ์ํ ๋ถ๋ถ ๋ฆฌ์คํธ์
๊ฐ๋ฐ๊ธฐ๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆด์ง ๊ณ ์ ํ ๋ถ์์์ ์ปค๋ฎค๋์ผ์ด์
Jira๋ฅผ ์ฌ์ฉํ Task ๋ถ๋ฐฐ GitFlow ์ ๋ต ์๋ชปํ๋ฉด ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ๋ ๋ฆด ์๋ ์๊ธฐ ๋๋ฌธ์ ์กฐ์ฌ์ค๋ฝ๊ฒ ๋ค๋ค์ผ ํจ. ๋์ค์ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ ๋ GitFlow ์ ๋ต์ ์ฐ๋ ๊ฒฝํ์ ๊ฐ์. Code Review ์ผ๋ฐ์ ์ธ ์๋น์คํ์ฌ๋ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ ์ ์ง๋ณด์๋ฅผ ํด์ผ ํจ. ์ฒ์๋ถํฐ ์ค๊ณ๋ฅผ ์ํ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ , ์ฝ๋๋ฅผ ์ ์ง๋ ค๋ ์ด์ ๋ ๋์ค์ ๋ถ๋ช
ํ ์ด๋ค ๋ถ๋ถ์ ๊ฑด๋๋ฆด ๋ ์ด ์ค๋๋ฐ ์ด๋ ์๋ก์ด ์๊ตฌ์ฌํญ์ ๋ฐ์ํ๊ธฐ ์ฌ์. ์คํ๊ฒํฐ์ฒ๋ผ ์ฝ๋๋ฅผ ์ง์ง ๋ง์! ์ฝ๋์ ์๋ชป๋ ๋ถ๋ถ์ด ์๋์ง ์ด๋ป๊ฒ ์ ์งค ์ ์๋์ง ์ฝ๋ฉํธ๋ฅผ ๋ด. ๊ธฐ์กด์ ์์ฑ์ ์
์ฅ์์๋..
๊ฐ ํด๋์ค ๋ณ ์ญํ Application : ๋ผ์ฐํ
, ๊ณ ๊ฐ์ด ์ฌ๋ฐ๋ฅธ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ง๋๋๋ก ๊ตํต์ ๋ฆฌ Controller(WiseSayingController) : ๋ณธ์ธ์ด ๋งก์ ์ฃผ์ ์ ๊ด๋ จ๋ ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ์ ๋ฃ๊ณ , ์ฒ๋ฆฌ ํ ์๋ต ์ฒ๋ฆฌ๋ฅผ ํ ๋, ๋ณธ์ธ์ด ํ๋จํ์ง ๋ชปํ๋ ๊ฒ์ ์๋น์ค์ ๋ฌผ์ด๋ณด๋ ๊ฒ ์์น ์๋น์์ ์ ์์ ์ญํ ์ด๋ผ๊ณ ๋ณด๋ฉด ๋จ ๊ณ ๊ฐ์ ๋ง๋์, ๊ทธ๋ค์ ์์ฒญ์ ๋ฐ๊ณ ์ฒ๋ฆฌํด์ค Service(WiseSayingService) : ํต์ฌ๋ก์ง์ ๋ด๋น ์๋น์ค๋ ์ค์ง ์ปจํธ๋กค๋ฌ์ ์์ฒญ์ ์ํด์๋ง ์ผ์ ํจ ์๋น์์ ๋ฉ์ธ ์๋ฆฌ์ฌ์ ์ญํ ์ด๋ผ๊ณ ๋ณด๋ฉด ๋จ ๋ฐ๋๋ก ์์ฒญ์ ํ ์ ์์ ํ
์คํธ๋ฅผ ์ํด static ๋ณด๋ค๋ ๊ฐ์ฒด๋ก ๋ง๋ค์ด ์ฐ๋๊ฒ ์ข์ Repository(WiseSayingRepository) : ๋ฐ์ดํฐ์ ์ ์ฅ/์กฐํ๋ฅผ ๋ด..