Git Pull Request
ํ ๋ธ๋์น์์ ๋ค๋ฅธ ๋ธ๋์น๋ก ์ฝ๋๋ฅผ ๋ณํฉ(Merge) ํด๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๊ธฐ๋ฅ์
๋๋ค.
๊ธฐ๋ณธ ๊ฐ๋
์ฉ์ด | ์ค๋ช
|
Base Branch | ๋ณ๊ฒฝ ์ฌํญ์ ๋ณํฉํ ๋์ ๋ธ๋์น (ex: main) |
Compare / Head Branch | ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ํ๋ ๋ธ๋์น (ex: feature/login) |
PR ์์ฑ์ | ์ฝ๋๋ฅผ ์์ฑํ๊ณ PR์ ์์ฑํ ์ฌ๋ |
๋ฆฌ๋ทฐ์ด | PR์ ๊ฒํ ํ๊ณ ์น์ธํ ์ฌ๋ |
Merge | ๋ฆฌ๋ทฐ๊ฐ ๋๋ PR์ ์ค์ ๋ก ๋ณํฉํ๋ ์์
|
์ ์ฒด ํ๋ฆ
1.
๊ฐ๋ฐ์๊ฐ ์ ๋ธ๋์น ์์ฑ (feature/*)
2.
์ฝ๋ ์์
๋ฐ ์ปค๋ฐ, ํธ์
3.
GitHub์์ Pull Request ์์ฑ
4.
๋ฆฌ๋ทฐ์ด๊ฐ ์ฝ๋ ๋ฆฌ๋ทฐ (์ฝ๋ฉํธ, ์น์ธ, ์์ฒญ ๋ณ๊ฒฝ)
5.
์น์ธ ํ Merge ๋๋ Close
6.
์ญ์ ๋ ๋ธ๋์น๋ ์ ๋ฆฌ
์์ ๋ช
๋ น์ด ํ๋ฆ (CLI + GitHub)
# 1. ์ ๋ธ๋์น ์์ฑ
git checkout -b feature/login
# 2. ์ฝ๋ ์์ ํ ์ปค๋ฐ
git add .
git commit -m "Add login feature"
# 3. ์๊ฒฉ ํธ์
git push origin feature/login
# 4. GitHub ์น์์ PR ์์ฑ (๋๋ CLI๋ก)
gh pr create --base main --head feature/login --title "Login ๊ธฐ๋ฅ ์ถ๊ฐ" --body "JWT ๋ก๊ทธ์ธ ๊ตฌํ"
Shell
๋ณต์ฌ
PR์ ํต์ฌ ๊ธฐ๋ฅ
๊ธฐ๋ฅ | ์ค๋ช
|
์ฝ๋ ๋ฆฌ๋ทฐ | ์ค ๋จ์ ์ฝ๋ฉํธ ๊ฐ๋ฅ |
Approve / Request changes | ์น์ธ ๋๋ ์์ ์์ฒญ |
Merge ๋ฐฉ๋ฒ ์ ํ | Merge Commit / Squash / Rebase |
์๋ ๋ณํฉ ์กฐ๊ฑด ์ค์ | ์ต์ ์น์ธ ์, ํ
์คํธ ํต๊ณผ ํ์ ๋ฑ |
PR ํ
ํ๋ฆฟ | ํ์ ์ผ๊ด๋ PR ์์ฑ ์ ๋ |
ํ์
์์ PR์ด ์ค์ํ ์ด์
โข
โข
โข
โข