ย
1. GitHub Pull Request๋?2. GitHub Pull Request์ ์ฅ์ 3. Pull Request ๋ณด๋ด๋ ๋ฐฉ๋ฒ4. 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 ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
ย
2) ์๋ณธ ์ ์ฅ์๋ก ์ด๋ํ๊ฒ ๋๋๋ฐ, ์ด๋ค ๋ธ๋์น์ ์ด๋๋ก ๋ธ๋์น ํ ๊ฒ์ธ์ง ์ ํํฉ๋๋ค.
ย
3) ์ด๋ก์ ๋ฌธ๊ตฌ๊ฐ ๋ํ๋๋ฉด ์ ์์ ์ผ๋ก PR์ ํ ์ ์๊ณ ๋นจ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ๋ฌ๋ค๋ฉด ์ถฉ๋์ ํด๊ฒฐํ๊ณ PR์ ํฉ๋๋ค.
ย
4) Create pull request๋ฅผ ํด๋ฆญํ๋ฉด ์ ๋ชฉ๊ณผ ๊ธ์ ์์ฑํ ์ ์์ต๋๋ค.
ย
์์ฑ์ด ์๋ฃ๋๋ฉด Create pull request ๋ฒํผ์ด ํ์ฑํ ๋ฉ๋๋ค.
์๋จ Pull requests๋ฅผ ํด๋ฆญํ๋ฉด ์๋๋ฐฉ์ด PR์ ๋ณด๋ธ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
ย
์ด PR์ ๋ด๊ฐ mergeํ ์ ์๊ณ ๊ถํ์ด ์๋ ์ฌ๋์ด ๋ฆฌ๋ทฐ๋ฅผ ๋ฌ๊ฑฐ๋, Merge pull request ๋ฒํผ์ ํด๋ฆญํ์ฌ mergeํ ์ ์์ต๋๋ค.
4. Pull Request ์ทจ์ํ๊ธฐ
Pull Request๋ฅผ ๋ณด๋ด๊ณ ์ทจ์ํ๊ณ ์ถ์ ๋๋ ์์ ๊ฒ์
๋๋ค. Pull Request๋ฅผ ์์ฒญํ ๋ ํฌ์งํ ๋ฆฌ๋ก ๊ฐ ์ดํ, ์์ ์ด ๋ณด๋ธ PR์ ์ ํํฉ๋๋ค. ํ๋จ์ โClose pull requestโ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์์ ์ด ์์ฒญํ PR์ด ์ทจ์๋ฉ๋๋ค.
ย
ย
๊นํ๋ธ ์ ์ฑ
์ ์ํด PR ๋ด์ญ์ ์ญ์ ๊ฐ ๋์ง ์์ต๋๋ค. ํ์ง๋ง ์ํ์ ๋ค๋ฉด ๊นํ๋ธ์ ์ฐ๋ฝ์ ํด ์ญ์ ๋ฅผ ์์ฒญํด์ผ ํฉ๋๋ค.
ย