Git Flow Strategy ๋ฅผ ํตํด์ ํ๋ก์ ํธ ํ์ · ํ์๊ด๋ฆฌ๋ฅผ ์ด์ด๊ฐ๊ณ ์์ต๋๋ค.
์์ฑํ feature ๋ธ๋์น๋ฅผ develop ๋ธ๋์น์ ๋ณํฉ(merge)ํ ๋์ ํ๋ฆ๊ณผ ๋ฐฉ๋ฒ์ ๋ฉ๋ชจํ๊ณ ์ ์์ฑํฉ๋๋ค.
ํนํ ์ปค๋ฐ-ํธ์ ์ด๋ ฅ์ ๊ฐ๊ฒฐ·์ ๋๋๊ฒ ํด์ฃผ๋ squash merge๋ฅผ ์ค์ ์ ์ผ๋ก ๋ค๋ฃจ๊ณ ์ ํฉ๋๋ค.
์์ฝ
1. ํ๋ก์ ํธ ์์ฑ (Owner or Admin)
2. ๋ก์ปฌ์์ Clone ํ git flow init
3. develop ๋ธ๋์น ์์ฑ
4. feature ๋ธ๋์น ์์ฑ
5. push ๋ฐ PR (Pull Request)
6. PR close & squash merge
์์ธ
1. ํ๋ก์ ํธ ์์ฑ (Owner or Admin)
2. ๋ก์ปฌ์์ Clone ํ git flow init
# git flow ์์
git flow init
3. develop ๋ธ๋์น ์์ฑ
โผ๏ธ 2๋ฒ์ ๊ณผ์ ์์ ๋ณ ๋ค๋ฅธ ์์ฑ·์์ ์์ด enter๋ฅผ ์ฐ๋ฌ์ ์ ๋ ฅ ํ์๋ develop ๋ธ๋์น๊ฐ ์์ฑ์ด ๋๋ค.
โผ๏ธ ์์ฑ ๋ฟ๋ง ์๋๋ผ, develop ๋ธ๋์น๋ก ์ฒดํฌ์์(checkout)๋ ๋๋ค.
โผ๏ธ ์๊ฒฉ ์ ์ฅ์๋ก develop ๋ธ๋์น๋ฅผ push
- (ssh ๋ฐฉ์์ผ๋ก clone์ ๋ฐ์๊ธฐ ๋๋ฌธ์ rsa key password๋ฅผ ๋ฌป๋๋ค.)
4. feature ๋ธ๋์น ์์ฑ
# ๊ฐ๋ฐ์ ์งํํ feature ๋ธ๋์น๋ฅผ ์์ฑ
# ๋ธ๋์น๋ช
์ "feature/๋ธ๋์น๋ช
"์ผ๋ก ์์ฑ์ด ๋๋ฉฐ ์์ feature/ ๊ฐ ๋ถ๋๋ค
git flow feature start ๋ธ๋์น๋ช
โผ๏ธ "feature/๋ธ๋์น๋ช " ์ผ๋ก ๋ธ๋์น๊ฐ ์๋ก ์์ฑ๋๊ณ , ์๋์ผ๋ก ์ฒดํฌ์์(checkout) ๋๋ค.
5. push ๋ฐ PR (Pull Request)
โผ๏ธ ํด๋น ์ฝ๋ ์์ ์ด ๋ง์ณ์ง๋ฉด, ์ปค๋ฐ&ํธ์๋ฅผ ํด์ ์๊ฒฉ ์ ์ฅ์์ ํ์์ ์ผ์น์์ผ์ค์ผํ๋ค.
โผ๏ธ ํธ์ ์ดํ์๋, Github(Web)์ผ๋ก ๊ฐ์ PR(Pull Request)๋ฅผ ์์ฑํด์ค๋ค.
6. PR close & squash merge
โผ๏ธ squash and merge ๋ฅผ ํด์ค๋ค.
: Squash Merge๋ Git์์ ์ฌ๋ฌ ๊ฐ์ ์ปค๋ฐ์ ํ๋๋ก ํฉ์ณ์ ๋ณํฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ณํฉํ ๋ธ๋์น์ ์ปค๋ฐ ๊ธฐ๋ก์ ์ ๋ฆฌํ๊ณ , ํ๋์ ์ปค๋ฐ์ผ๋ก ํตํฉํ์ฌ ๋ ๊น๋ํ Git ๋ก๊ทธ๋ฅผ ์ ์งํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์ฃผ๋ก ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ธ๋์น๋ฅผ ๋ฉ์ธ ๋ธ๋์น์ ๋ณํฉํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
'๐ป DEV > GitHub' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Github] Git ํธ์ ํด์ฃผ๋ ๊ณ์ ๋ฐ๊ฟ์ฃผ๊ธฐ(username, useremail) (0) | 2024.08.02 |
---|---|
[Github] main branch๋ฅผ master ๋ก ๋ฐ๊พธ๊ณ default ๊ฐ ๋ณ๊ฒฝํ๊ธฐ (0) | 2024.08.02 |
[Github] ๋ง์ง๋ง commit ๋ ์ง ๋ณ๊ฒฝ(์์ ) (0) | 2022.06.09 |
๋๊ธ