๐Ÿ“

6. Pull Request

ย 
ย 

1. GitHub Pull Request๋ž€?

์ƒ๋Œ€๋ฐฉ์˜ ์ €์žฅ์†Œ๋ฅผ Forkํ•œ ํ›„ ์›๋ณธ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์ด๋Ÿด ๋•Œ, ์›๋ณธ ์ €์žฅ์†Œ์˜ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์—๊ฒŒ ๋‘ ๋ธŒ๋žœ์น˜๋ฅผ ํ•ฉ์น˜๋Š” ๊ฒƒ์„ ํ—ˆ๋ฝํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญ์„ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ Pull Request ๋˜๋Š” PR์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. PR์€ ์›๋ณธ ์ €์žฅ์†Œ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ณ  ํฌํฌํ•œ ์ €์žฅ์†Œ์—๋„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PR ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊นƒํ—ˆ๋ธŒ์˜ ์ €์žฅ์†Œ์•ˆ์— ์žˆ๋Š” ๋ธŒ๋žœ์น˜์— ํ‘ธ์‰ฌํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์•Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PR์ด ์—ด๋ฆฌ๋ฉด ํŒ€์›๊ณผ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋…ผ์˜ํ•˜๊ณ  ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ๋˜๊ธฐ ์ „์— ํ›„์† ์ปค๋ฐ‹์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. GitHub Pull Request์˜ ์žฅ์ 

ํ˜‘์—… ์‹œ์—๋Š” ์ตœ๋Œ€ํ•œ ์ง์ ‘ mergeํ•˜๋Š” ๊ฒƒ์€ ํ”ผํ•˜๊ณ  ๋ชจ๋“  merge๋ฅผ pull request๋ฅผ ํ†ตํ•ด์„œ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ƒ๋Œ€๋ฐฉ์ด PR์„ ๋ณด๊ณ  ์ฝ”๋“œ ๋ฆฌ๋ทฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. PR์— ์ˆ˜์ •์ด ํ•„์š”ํ•˜๋ฉด ๋Œ“๊ธ€์„ ๋‹ฌ์•„ change request๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ์˜คํ”ˆ ์†Œ์Šค์— PR์„ ๋ณด๋‚ผ ๋•Œ์—๋Š” ๊ธฐ์—ฌ ์•ˆ๋‚ด๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3. Pull Request ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•

PR์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
1) ํฌํฌํ•œ ์ €์žฅ์†Œ์— Contribute๋ฅผ ํด๋ฆญํ•˜๊ณ  Open pull request ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
notion imagenotion image
ย 
2) ์›๋ณธ ์ €์žฅ์†Œ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์–ด๋–ค ๋ธŒ๋žœ์น˜์— ์–ด๋””๋กœ ๋ธŒ๋žœ์น˜ ํ•  ๊ฒƒ์ธ์ง€ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
notion imagenotion image
ย 
3) ์ดˆ๋ก์ƒ‰ ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ์ •์ƒ์ ์œผ๋กœ PR์„ ํ•  ์ˆ˜ ์žˆ๊ณ  ๋นจ๊ฐ„์ƒ‰ ๋ฌธ๊ตฌ๊ฐ€ ๋œฌ๋‹ค๋ฉด ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ•˜๊ณ  PR์„ ํ•ฉ๋‹ˆ๋‹ค.
notion imagenotion image
ย 
4) Create pull request๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ œ๋ชฉ๊ณผ ๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
notion imagenotion image
notion imagenotion image
ย 
์ž‘์„ฑ์ด ์™„๋ฃŒ๋˜๋ฉด Create pull request ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋ฉ๋‹ˆ๋‹ค.
์ƒ๋‹จ Pull requests๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ƒ๋Œ€๋ฐฉ์ด PR์„ ๋ณด๋‚ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
notion imagenotion image
ย 
์ด PR์€ ๋‚ด๊ฐ€ mergeํ•  ์ˆ˜ ์—†๊ณ  ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด ๋ฆฌ๋ทฐ๋ฅผ ๋‹ฌ๊ฑฐ๋‚˜, Merge pull request ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ mergeํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
notion imagenotion image

4. Pull Request ์ทจ์†Œํ•˜๊ธฐ

Pull Request๋ฅผ ๋ณด๋‚ด๊ณ  ์ทจ์†Œํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋„ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Pull Request๋ฅผ ์š”์ฒญํ•œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ๊ฐ„ ์ดํ›„, ์ž์‹ ์ด ๋ณด๋‚ธ PR์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‹จ์— โ€œClose pull requestโ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์ž์‹ ์ด ์š”์ฒญํ•œ PR์ด ์ทจ์†Œ๋ฉ๋‹ˆ๋‹ค.
ย 
notion imagenotion image
ย 
๊นƒํ—ˆ๋ธŒ ์ •์ฑ…์— ์˜ํ•ด PR ๋‚ด์—ญ์€ ์‚ญ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์›ํ•˜์‹ ๋‹ค๋ฉด ๊นƒํ—ˆ๋ธŒ์— ์—ฐ๋ฝ์„ ํ•ด ์‚ญ์ œ๋ฅผ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ย