- ์ฝ๋๋ฅผ ์์ ํ ๊ฒฝ์ฐ Modify Type ์ฌ์ฉ
- Github issue ๋ฒํธ์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ผ๋ก ์์ฑํ๋ค.
- issue number 26 โ [Type]: [#[issue number]] [commit message] [message body]
- Type์ ํ์ฌ ์์ ๋ก ์์ฑํ๋๋ก ํ๋ฉฐ, ๋๋ฌธ์๋ก ์์ฑํ์ง ์๋๋ค.
- Message๋ ๋ฌด์์ ํ์ผ๋ฉฐ ์ ํ๋์ง ์ ์ด์ค๋ค.

- ๊ธฐ๋ฅ ๊ตฌํ ๋จ์๋ก commit ํ๋๋ก ํ๊ณ , ๊ธฐ๋ฅ ๊ตฌํ์ด ์๋ฃ๋๋ฉด ๋ฐ๋์ PR ๋ฐ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๋๋ก ํ๋ค
- AngluarJS commit convention (๋ฒ์ญ๋ณธ)
- ์บ ํผ์ค ํต๋ฐ์ด Java ์ฝ๋ฉ ์ปจ๋ฒค์
- ์ข์ ์ฝ๋๋ฅผ ์ํ ์๋ฐ ๋ณ์๋ช ๋ค์ด๋ฐ
- ์ข์ ์ฝ๋๋ฅผ ์ํ ์๋ฐ ๋ฉ์๋ ๋ค์ด๋ฐ
- ์ข์ ํ ์คํธ ์ฝ๋ ์์ฑ(Mockito)
- ๊ฐ ์คํ๋ฆฐํธ์ ๋ง๊ฒ ์ด์๋ฅผ ๋ฐ๊ธํ๋ค (์ด์ ํ ํ๋ฆฟ ์ฌ์ฉํ๊ธฐ!)
- ์๋ฃ, ์งํ์ค, ์ค๋ฅ 3๊ฐ์ ๋ผ๋ฒจ์ ๋ฌ์ ํ์ฌ ์คํ๋ฆฐํธ์ ์ํ๋ฅผ ํ์ํ๋ค.
- ์๋ฃ๋ ์ด์๋ PR ํ์ธ ํ Close ํ๋ค.

-
Mac OS ์ฌ์ฉ์์ ๊ฒฝ์ฐ git flow ์ค์น
brew install git-flow-avh
-
Windows OS ์ฌ์ฉ์์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ค์น
wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash -
git flow์ ๋ง๊ฒ ์ ์ฅ์ ์ด๊ธฐํ
git flow init Which branch should be used for bringing forth production releases? - main Branch name for production releases: [main] Branch name for "next release" development: [develop] # ๋ณ๋์ ์ค์ ์์ด ์ํฐ๋ฅผ ๋๋ฅธ๋ค. How to name your supporting branch prefixes? Feature branches? [feature/] Bugfix branches? [bugfix/] Release branches? [release/] Hotfix branches? [hotfix/] Support branches? [support/] Version tag prefix? [] Hooks and filters directory? [/Users/hee/Desktop/git-flow/.git/hooks]
-
๋ค์๊ณผ ๊ฐ์ด 6๊ฐ์ ๋ธ๋์น prefix ๊ฐ ์์ฑ๋๋ค. (ํฅํ ๊ฐ๋ฐ ์ ๋ธ๋์น๋ช ์์ ๋ค์๊ณผ ๊ฐ์ prefix๋ฅผ ๋ถ์ฌ์ค๋ค.)
- main (master) : ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌ๋๋ Stable ๋ธ๋์น
- develop : ๋ค์ ๋ฆด๋ฆฌ์ฆ๋ฅผ ์ํด ๊ธฐ๋ฅ๋ค์ ๋ชจ์ผ๋ ์ต์ ๋ธ๋์น
- feature : ํน์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ํ ๋ธ๋์น
- release : ๋ฆด๋ฆฌ์ฆ๋ฅผ ์ํด ๋ฒ๊ทธ ํฝ์ค (Bug fix)๋ฅผ ๋ชจ์ผ๋ ๋ธ๋์น
- hotfix : ๊ธด๊ธ ๋ฒ๊ทธ ํฝ์ค๋ฅผ ์ํ ๋ธ๋์น
- support : ๋ฒ์ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ์ํ ๋ธ๋์น
-
์๋ก์ด ๊ฐ๋ฐ ๋ธ๋์น feature ๋ธ๋์น ์์ฑ ์์
git flow feature start {branchName}- ํด๋น ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด feature/branchName์ ๋ธ๋์น๊ฐ ์์ฑ๋๋ค.
-
PR ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ์ฐ์ ๋ฆฌ๋ชจํธ ์ ์ฅ์์ push ๊ฐ ๋์ด์์ด์ผ ํ๋ค.
git flow feature publish <feature name>- publish ๋ช ๋ น์ ์ํํ๋ฉด ์๊ฒฉ์ ์ฅ์์ feature๋ธ๋์น๋ฅผ push ํ๋ค.
-
๋ฐ๋๋ก ์๊ฒฉ ์ ์ฅ์์์ feature ๋ธ๋์น๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค.
git flow feature pull origin <feature name> -
ํด๋น ๋ธ๋์น์ commit ํ๊ธฐ
git add . git commit -m "commit message" git flow feature publish {branchName}
-
๋ชจ๋ ๊ธฐ๋ฅ ๊ตฌํ ํ PR ํ Merge ์ ํด๋น ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ค.
์ฐ์ํ ํ์ ๋ค ๊ธฐ์ ๋ธ๋ก๊ทธ - ์ฐ๋ฆฐ Git-flow๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์
Git-Flow & Commit message & Issue ์ด์ฉํด์ ํ์
ํ๊ธฐ
1. ๋จธ์ง ์ ๋ฉ์ธ ๋ธ๋์น์ ์ถฉ๋ ๋ ์ฐ๋ ค๊ฐ ์๊ธฐ ๋๋ฌธ์ PR์ ๋ฐ๋์ ์ฒดํฌํด์ฃผ์ธ์!
2. PR์ ๋ณด๋ผ ๋๋ ์์ ์ฌํญ ๋ฐ ๊ตฌํ ์ฌํญ, ์ด์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ฏธ์ง์ ํจ๊ป ์ฌ๋ ค์ฃผ์ธ์.
3. ์ฝ๋ ๋ฆฌ๋ทฐ ํ์ธ ํ ๋จธ์ง ์น์ธ ์ ๋จธ์ง ํ ์ด์๋ฅผ ๋ซ์์ฃผ์ธ์.
4. ์ด์๋ฒํธ์ ๋ธ๋์น๋ฒํธ๋ฅผ ์ผ์น์์ผ์ฃผ์ธ์.
5. ์ปค๋ฐ ์ปจ๋ฒค์
์ ์งํค๊ณ , ๋ธ๋์น ๋ฒํธ๋ฅผ ์ผ์น์์ผ์ฃผ์ธ์. ๋ธ๋์น ๋ฒํธ์ ๋ฐ๋ผ ์ด์์
์ปค๋ฐ ๋ฉ์์ง๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. ์๋ชป๋ ๋ฒํธ๊ฐ ๊ธฐ๋ก๋์ง ์๊ฒ ์ฃผ์ํ์ธ์.
6. ๋ง์ฝ ๋ฌธ์ ๊ฐ ์๋ค๋ ์ฝ๋ฉํธ๋ฅผ ๋ฐ์ผ๋ฉด, PR์ ๋ซ๊ณ ์์ ํ ๋ค์ PR ๋ ๋ ค์ฃผ์ธ์.

