pull request

1. Pull Request

์ฝ”๋“œ๋ฅผ ๋‹ค ์ˆ˜์ •ํ–ˆ์œผ๋‹ˆ ์ด์ œ ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— Pull Request๋ฅผ ๋ณด๋‚ด๋ด…์‹œ๋‹ค.

์ด๋•Œ ์™œ Pull Request๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•œ ๋ถ„๋“ค๋„ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

ํ˜ผ์ž ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ์ „ํ˜€ ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ, ์—ฌ๋Ÿฌ ๋ช…์ด ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ Pull Request๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Pull Request๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์•„๋ž˜์˜ ์žฅ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ์ถฉ๋Œ ์ตœ์†Œํ™”

๋ชจ๋‘๊ฐ€ ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ž‘์—…์„ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์ฝ”๋“œ ์ถฉ๋Œ์ด ํ•˜๋ฃจ์—๋„ ์ˆ˜์‹ญ ๋ฒˆ ์ผ์–ด๋‚  ์ˆ˜ ๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ ํ•œ ๋ช…์ด Push๋ฅผ ํ•˜๋Š” ์ˆœ๊ฐ„, ๋˜‘๊ฐ™์€ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์ด Push๋ฅผ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฑธ Push๋ฅผ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ˜๋ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ๋ฆฌ๋ทฐ

์—ฌ๋Ÿฌ ๋ช…์ด ํ˜‘์—…ํ•˜์—ฌ ์ง„ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๊ฒฝ์šฐ์—๋Š” ๋‚˜์ค‘์— ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด์™•์ด๋ฉด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ์ตœ๋Œ€ํ•œ ์„ฑ๋Šฅ์„ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ•ฉ์น˜๊ธฐ ์ „์— ์ˆ˜์ •ํ•  ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ๋” ์ˆ˜์ •์„ ํ•˜๊ณ  ํ•ฉ์น˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋‚ด ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๊ณ , ์˜๊ฒฌ์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๊ธฐ๋ก์„ ํ™•์ธํ•˜๊ธฐ ์šฉ์ดํ•จ

๋ณดํ†ต ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค๋ฉด ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ๋•Œ, ์ˆ˜์‹ญ ๊ฐœ์˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

ํšŒ์‚ฌ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹Œ ์ด๋ฏธ ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ์— ํˆฌ์ž…์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๊ณ , ์ด๋Ÿฐ ๊ฒฝ์šฐ์—” ์ˆ˜๋ฐฑ๊ฐœ ~ ์ˆ˜๋งŒ๊ฐœ์˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด์šฉ์ด ์„œ๋กœ ๋น„์Šทํ•œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋งˆ๋ จ์ž…๋‹ˆ๋‹ค.

์ด๋•Œ๋Š” ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋งŒ ๋ณธ๋‹ค๋ฉด ๋ฌด์Šจ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Pull Request๋ฅผ ํ†ตํ•ด ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์ž‘์„ฑ๋œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์–ด๋–ค ์˜๋„๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”์ง€ ๋ช…ํ™•ํžˆ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด์ „ ๊ธฐ๋ก์„ ํ™•์ธํ•˜๋Š”๋ฐ ์ข‹์Šต๋‹ˆ๋‹ค.

2. ์‹ค์Šต

์ด์ œ ์™œ Pull Request๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ๊ฒŒ ๋์œผ๋‹ˆ Pull Request๋ฅผ ๋ณด๋‚ด๋ด…์‹œ๋‹ค.

Pull Request๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € ์ž์‹ ์ด ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์™ผ์ชฝ ์œ„์— ๋นจ๊ฐ„ ๋ฐ•์Šค์ฒ˜๋Ÿผ ์ž์‹ ์˜ ์•„์ด๋””๊ฐ€ ์ ํ˜€์žˆ๊ณ , ๊ฐ€์šด๋ฐ์— 1 ์ด์ƒ์˜ ์ˆซ์ž๊ฐ€ x commit ahead๋กœ ๋˜์–ด ์žˆ๋‹ค๋ฉด ์ž˜ ๋”ฐ๋ผ์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ €๋Š” 1๊ฐœ์˜ ์ปค๋ฐ‹๋งŒ ๋ณด๋ƒˆ๊ธฐ ๋•Œ๋ฌธ์— 1์ด๋ผ๊ณ  ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด์ง€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ์–ด๋„ ์ƒ๊ด€์ด ์—†์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ Contribute ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  Open pull request ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ Pull Request๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ๋“ค์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

๊ฐ€์šด๋ฐ - ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ

์ œ๋ชฉ์—” ์–ด๋–ค ์ฝ”๋“œ ๊ธฐ์—ฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ธ์ง€ ์š”์•ฝํ•˜๋Š” ๋‚ด์šฉ์„ ์ ์–ด์ฃผ๊ณ , ์„ธ๋ถ€ ๋‚ด์šฉ์— ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅธ์ชฝ - ๋‹ค์–‘ํ•œ ์˜ต์…˜

  • Reviewers๋Š” ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•˜๋Š” ์œ ์ €๋ฅผ ์„ ํƒํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๋ฆฌ๋ทฐ ์š”์ฒญ์„ ํ•˜๋ฉด ๋ฆฌ๋ทฐ์–ด์—๊ฒŒ ๋ฉ”์ผ์ด ๋‚ ์•„์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • Assignees๋Š” ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ์œ ์ €๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ์„ ํƒํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

  • Labels๋Š” ํ•ด๋‹น Pull Request๊ฐ€ ์–ด๋–ค ์œ ํ˜•์— ์†ํ•˜๋Š”์ง€ ์„ ํƒํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. (ex. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, ๊ฐ„๋‹จํ•œ ๊ฐœ์„ , ๋ฌธ์„œ ์ž‘์„ฑ, โ€ฆ)

  • Projects๋Š” Repository ์˜ต์…˜์ค‘์— ํ•˜๋‚˜์ธ Projects์— ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ๊ณผ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ๋กœ๋Š” ์Šคํ”„๋ฆฐํŠธ๋กœ ๊ณ„ํš์„ ์„ธ์› ์„ ๋•Œ, ํ•ด๋‹น PR์ด ๋ช‡ ๋ฒˆ์งธ ์Šคํ”„๋ฆฐํŠธ์—์„œ ์ ์šฉํ•˜๋Š” PR์ธ์ง€ ๊ธฐ๋กํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • Milestone์€ ์–ด๋–ค ๋ชฉํ‘œ๋ฅผ ์œ„ํ•ด ์ ์šฉํ•˜๋Š” PR์ธ์ง€ ์ •ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ โ€˜๋ฒ„ํŠผ ์ถ”๊ฐ€โ€™๋ผ๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“œ๋ ค๊ณ  ํ•  ๋•Œ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ PR์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค๋ฉด Milstone์— ๋ฒ„ํŠผ ์ถ”๊ฐ€๋ผ๋Š” ๋‚ด์šฉ์„ ๋งŒ๋“ค์–ด ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ - ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์™€ ํŒŒ์ผ ๋ณ€๊ฒฝ ๋‚ด์šฉ

์–ด๋–ค ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒˆ๋Š”์ง€, ํ•ด๋‹น PR์—์„œ ์–ด๋–ค ํŒŒ์ผ์˜ ์–ด๋–ค ์ฝ”๋“œ๊ฐ€ ์ˆ˜์ •/์ถ”๊ฐ€/์‚ญ์ œ ๋๋Š”์ง€, ๋ˆ„๊ฐ€ ๊ธฐ์—ฌ๋ฅผ ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ด์ œ ๋ชจ๋“  ๊ฒŒ ๊ฒฐ์ • ๋๋‹ค๋ฉด ์ด์ œ Create pull request ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

3. Pull Request๋ฅผ ์ƒ์„ฑํ•œ ์ดํ›„

Pull Request๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๊ฒฐ๋ก ์ ์œผ๋กœ ๋„ค ๊ฐ€์ง€ ์ƒํƒœ๋กœ ๋‚˜๋‰˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  • Open : ์•„์ง ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ฐ˜์˜ํ•˜๊ธฐ ์ „์ด๊ณ , ๊ธฐ๋Šฅ์ด ์™„์„ฑ๋œ ์ƒํƒœ์ด๋‹ˆ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์„ ์ƒํƒœ๊ฐ€ ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • Draft : ์•„์ง ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ฐ˜์˜ํ•˜๊ธฐ ์ „์ด๊ณ , PR์„ ์ƒ์„ฑํ–ˆ์ง€๋งŒ ๊ธฐ๋Šฅ์ด ์™„์„ฑ๋œ ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋‹ˆ ํ™•์ธํ•˜์ง€ ๋ง๋ผ๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

  • Merged : ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ฝ”๋“œ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

  • Closed : ์›๋ณธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ฝ”๋“œ๋ฅผ ๋ฐ˜์˜ํ•˜์ง€ ์•Š์€ ์ฑ„๋กœ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ Open์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Merged์™€ Closed๋Š” ํฌ๊ฒŒ ์„ค๋ช…ํ•  ๋‚ด์šฉ์ด ์—†์ง€๋งŒ, Open ์ƒํƒœ์—์„œ๋Š” ํฐ ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ”๋กœ Open์ด ๋œ ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ Pushํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น PR์— ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚จ๊ฒŒ ๋œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ด ๋ง์€ PR์€ ํ•ญ์ƒ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์œ ์ง€๊ฐ€ ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐ€์ง€์˜ ์ž‘์—…์„ ์ง„ํ–‰ํ•ด์•ผ ํ•  ๋•Œ์—๋Š” ๋ธŒ๋žœ์น˜๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฝ”๋”ฉ์„ ์ข€ ์˜ค๋ž˜ํ•˜์‹  ๋ถ„์ด๋ผ๋ฉด ์ธํ„ฐ๋„ท์—์„œ ๋ธŒ๋žœ์น˜ ์ „๋žต์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋“ค์–ด ๋ดค์„ ๊ฒ๋‹ˆ๋‹ค.

Last updated