Search

Git Pull Request

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.
์‚ญ์ œ๋œ ๋ธŒ๋žœ์น˜๋Š” ์ •๋ฆฌ
CI/CD, ์ž๋™ ํ…Œ์ŠคํŠธ, Merge ์กฐ๊ฑด ๋“ฑ์ด PR ๊ณผ์ •์— ๋ถ™์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ ๋ช…๋ น์–ด ํ๋ฆ„ (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์ด ์ค‘์š”ํ•œ ์ด์œ 

โ€ข
๋ฆฌ๋ทฐ์™€ ๊ฒ€์ฆ ์ ˆ์ฐจ๋ฅผ ํ†ตํ•œ ํ’ˆ์งˆ ๊ด€๋ฆฌ
โ€ข
์ฝ”๋“œ ๋ณ€๊ฒฝ ํžˆ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌ
โ€ข
ํŒ€์› ๊ฐ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ˆ˜๋‹จ
โ€ข
์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ์™€ ๋ฆฐํŠธ ์ ์šฉ ์ง€์ 