Search

Pull Request

Pull Request

Pull Request(PR)๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋กœ์ ํŠธ์˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ œ์•ˆํ•˜๊ณ  ๊ฒ€ํ† ๋ฐ›๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:
โ€ข
์ฝ”๋“œ ๋ฆฌ๋ทฐ: ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
โ€ข
ํ˜‘์—… ์ด‰์ง„: ํŒ€์›๋“ค ๊ฐ„์˜ ์†Œํ†ต๊ณผ ์ง€์‹ ๊ณต์œ ๋ฅผ ์ฆ์ง„์‹œํ‚ต๋‹ˆ๋‹ค.
โ€ข
ํ’ˆ์งˆ ๊ด€๋ฆฌ: ๋ฒ„๊ทธ๋ฅผ ์กฐ๊ธฐ์— ๋ฐœ๊ฒฌํ•˜๊ณ  ์ฝ”๋“œ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
โ€ข
๋ณ€๊ฒฝ ์ด๋ ฅ ๊ด€๋ฆฌ: ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค.
PR์€ ํšจ๊ณผ์ ์ธ ํ˜‘์—…๊ณผ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์ค‘์š”ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

Pull Request ํ•˜๋Š” ๋ฐฉ๋ฒ•

1.
์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ: ๋จผ์ € ์ž‘์—…ํ•  ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
2.
์ฝ”๋“œ ๋ณ€๊ฒฝ: ์ƒˆ ๋ธŒ๋žœ์น˜์—์„œ ํ•„์š”ํ•œ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
3.
๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹: ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ๋ฅผ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค.
4.
GitHub์— ํ‘ธ์‹œ: ๋กœ์ปฌ ๋ธŒ๋žœ์น˜๋ฅผ GitHub ์›๊ฒฉ ์ €์žฅ์†Œ์— ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.
5.
Pull Request ์ƒ์„ฑ: GitHub์—์„œ 'New Pull Request' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ PR์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
6.
PR ์„ค๋ช… ์ž‘์„ฑ: ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
7.
๋ฆฌ๋ทฐ์–ด ์ง€์ •: ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์ˆ˜ํ–‰ํ•  ํŒ€์›์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
8.
PR ์ œ์ถœ: 'Create Pull Request' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ PR์„ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.
์ดํ›„ ์ง€์ •๋œ ๋ฆฌ๋ทฐ์–ด๋“ค์ด ์ฝ”๋“œ๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ˆ˜์ •์„ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฆฌ๋ทฐ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด PR์€ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ๋ทฐ์–ด ์ง€์ •ํ•˜๊ธฐ

Pull Request์—์„œ ์ ์ ˆํ•œ ๋ฆฌ๋ทฐ์–ด๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ๊ณผ ํšจ๊ณผ์ ์ธ ํ˜‘์—…์„ ์œ„ํ•ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋ฆฌ๋ทฐ์–ด๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ณ ๋ ค์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค:
1.
GitHub์˜ PR ํŽ˜์ด์ง€์—์„œ 'Reviewers' ์„น์…˜์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
2.
ํŒ€์› ๋ชฉ๋ก์—์„œ ์ ํ•ฉํ•œ ๋ฆฌ๋ทฐ์–ด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
3.
ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๋ช…์˜ ๋ฆฌ๋ทฐ์–ด๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฆฌ๋ทฐ์–ด ์„ ํƒ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ:
โ€ข
์ฝ”๋“œ ๋ณ€๊ฒฝ ์˜์—ญ์— ๋Œ€ํ•œ ์ „๋ฌธ์„ฑ์„ ๊ฐ€์ง„ ํŒ€์›์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
โ€ข
ํŒ€ ๋‚ด ์ง€์‹ ๊ณต์œ ๋ฅผ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜ ์ˆ˜์ค€์˜ ๋ฆฌ๋ทฐ์–ด๋ฅผ ํฌํ•จ์‹œํ‚ต๋‹ˆ๋‹ค.
โ€ข
์›Œํฌ๋กœ๋“œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ท ํ˜•์žˆ๊ฒŒ ๋ฆฌ๋ทฐ์–ด๋ฅผ ๋ฐฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
์ ์ ˆํ•œ ๋ฆฌ๋ทฐ์–ด ์ง€์ •์€ ํšจ์œจ์ ์ธ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด์žฅํ•˜๊ณ , ํŒ€ ์ „์ฒด์˜ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ์— ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋ทฐ์–ด ์ง€์ • ๋ฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ›„ ๋จธ์ง€ ์ทจ์†Œํ•˜๊ธฐ

๋ฆฌ๋ทฐ์–ด๋ฅผ ์ง€์ •ํ•˜๊ณ  ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์€ ํ›„, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋จธ์ง€๋ฅผ ์ทจ์†Œํ•˜๋Š” ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:
1.
๋ฆฌ๋ทฐ์–ด ์ง€์ •: PR ํŽ˜์ด์ง€์—์„œ 'Reviewers' ์„น์…˜์— ์ ์ ˆํ•œ ๋ฆฌ๋ทฐ์–ด๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
2.
์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ง„ํ–‰: ์ง€์ •๋œ ๋ฆฌ๋ทฐ์–ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
3.
ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜: ๋ฆฌ๋ทฐ์–ด์˜ ์˜๊ฒฌ์„ ๊ฒ€ํ† ํ•˜๊ณ  ํ•„์š”ํ•œ ์ˆ˜์ •์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.
4.
๋ฆฌ๋ทฐ ์Šน์ธ: ๋ชจ๋“  ์ˆ˜์ •์‚ฌํ•ญ์ด ๋ฐ˜์˜๋˜๋ฉด ๋ฆฌ๋ทฐ์–ด๊ฐ€ PR์„ ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.
5.
๋จธ์ง€ ์ง„ํ–‰: ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ๋‹จ๊ณ„์—์„œ PR์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋จธ์ง€ํ•ฉ๋‹ˆ๋‹ค.
6.
๋จธ์ง€ ์ทจ์†Œ ๊ฒฐ์ •: ๋จธ์ง€ ํ›„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ๋จธ์ง€ ์ทจ์†Œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
7.
Revert PR ์ƒ์„ฑ: GitHub์—์„œ ํ•ด๋‹น PR์˜ 'Revert' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ƒˆ๋กœ์šด PR์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
8.
Revert PR ๊ฒ€ํ† : ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ Revert PR์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
9.
Revert ๋จธ์ง€: ๊ฒ€ํ† ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด Revert PR์„ ๋จธ์ง€ํ•˜์—ฌ ์ด์ „ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ทจ์†Œํ•ฉ๋‹ˆ๋‹ค.
์ด ๊ณผ์ •์„ ํ†ตํ•ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์•ˆ์ „ํ•˜๊ฒŒ ๋จธ์ง€๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จธ์ง€ ์ทจ์†Œ๋Š” ์‹ ์ค‘ํ•˜๊ฒŒ ๊ฒฐ์ •ํ•ด์•ผ ํ•˜๋ฉฐ, ํŒ€์›๋“ค๊ณผ์˜ ์ถฉ๋ถ„ํ•œ ๋…ผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋จธ์ง€ ์ทจ์†Œ์™€ PR ์ƒํƒœ

๋จธ์ง€ ์ทจ์†Œ(Revert)๋Š” PR์„ 'Closed' ์ƒํƒœ๋กœ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์ด ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค:
1.
์›๋ž˜ PR์€ 'Merged' ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
2.
์ƒˆ๋กœ์šด 'Revert' PR์ด ์ƒ์„ฑ๋˜์–ด 'Open' ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
3.
์ด 'Revert' PR์ด ์Šน์ธ๋˜๊ณ  ๋จธ์ง€๋˜๋ฉด, ์›๋ž˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ทจ์†Œ๋ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ, ๋จธ์ง€ ์ทจ์†Œ ๊ณผ์ •์—์„œ๋Š” ์ƒˆ๋กœ์šด PR์ด ์ƒ์„ฑ๋˜๋ฉฐ, ์ด PR์˜ ๋ชฉ์ ์€ ์ด์ „ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์›๋ž˜์˜ PR์€ ์—ฌ์ „ํžˆ ๋จธ์ง€๋œ ์ƒํƒœ๋กœ ํžˆ์Šคํ† ๋ฆฌ์— ๋‚จ์•„์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.