Frontend ๊ฐœ๋ฐœ์ž - hyo.loui

Project: Develife - โœจPR(pull request) ์‚ฌ์šฉ๋ฒ•(git hub) ๋ณธ๋ฌธ

Project

Project: Develife - โœจPR(pull request) ์‚ฌ์šฉ๋ฒ•(git hub)

hyo.loui 2023. 1. 27. 03:04

๐ŸŽฏ๋ชฉ์  :

Git hub : Pull request ๊ฐœ๋… ์ •๋ฆฌ

์ ์šฉ : Pull request ํ™œ์šฉ, ํŒ€์›๋“ค๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐํ•˜๊ธฐ


1. PR์€?

 

ํ”„๋กœ์ ํŠธ์˜ Contribute๋กœ ๋“ฑ๋ก๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด Fork ํ•˜์—ฌ

repository๋ฅผ ๋ณต์‚ฌํ•ด ๋‚˜์˜ ๊นƒํ—ˆ๋ธŒ repo๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ.

 

ํ•ด๋‹น ํฌ์ŠคํŒ… ๋‚ด์šฉ์—์„œ๋Š” ํŒ€์›์œผ๋กœ์จ ๊ฐ™์ด ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

 

์šฐ๋ฆฌ๋Š” contributor ๊ฐ€ ๋˜์–ด

ํ”„๋กœ์ ํŠธ๋ฅผ ํด๋ก ํ•˜์—ฌ ์ž‘์—…ํ•œ ํ›„

 

์ฃผ๋œ ๊ธฐ๋Šฅ์ด ๋ชจ์—ฌ์žˆ๋Š” dev ๋‚˜ develop ๋ธŒ๋žœ์น˜๋กœ

'๋‚ด ์ž‘์—… ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•ด ์ฃผ์„ธ์š”' ํ•˜๊ณ 

์š”์ฒญํ•˜๋Š” ๊ฒƒ ์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด Pull Request ๋ฅผ ๋ณด๋‚ธ๋‹ค, ๋‚ ๋ฆฐ๋‹ค๊ณ  ํ•œ๋‹ค

 

PR์„ ํ†ตํ•ด ์ฝ”๋“œ ์ถฉ๋Œ์„ ์ตœ์†Œํ™”ํ•˜๊ณ ,

push ๊ถŒํ•œ์ด ์—†๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉฐ,

 

PR์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ์—

๋ณ€๋™์ด๋‚˜ ์ž‘์—… ๋‚ด์šฉ์„ ๋ณด๋ฉฐ ์„œ๋กœ์˜ ์˜๊ฒฌ์„ comment๋กœ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ ,

๋” ํšจ์œจ์ ์ด๊ณ  ์งˆ๋†’์€ ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ•  ์ˆ˜ ์žˆ๋„๋กํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

 

 


2. PR ์š”์ฒญ

๋จผ์ € git hub ์—์„œ

ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ repository ํŽ˜์ด์ง€๋ฅผ ์—ด๊ณ 

 

์šฐ์ธก์— ๋ณด์ด๋Š” 'New pull request' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค

 

์ดํ›„ ์œ„์— base ์™€ compare ๋ฅผ ์ž˜ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค

์‹ค์ˆ˜๋กœ main์— PR๋‚ ๋ฆฌ๋Š” ์‹ค์ˆ˜๊ฐ€ ์žˆ์œผ๋‹ˆ ํ•ญ์ƒ ์กฐ์‹ฌํ•˜์ž!

 

PR ๋ณด๋‚ผ ๋ธŒ๋žœ์น˜ << ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ๋ธŒ๋žœ์น˜

 

์šฐ์ธก์— ๋ณด์ด๋Š” 'New pull request' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค

์œ„ ์ฒ˜๋Ÿผ ์–ด๋–ค ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ฒ€ํ† ๊ฐ€ ์™„๋ฃŒ๋œ ํŒŒ์ผ์€ 

์šฐ์ธก์ƒ๋‹จ Review change ๋ฒ„ํŠผ ์•„๋ž˜ ๋ณด์ด๋Š”

Viewed ์ฒดํฌ๋ฐ•์Šค๋ฅผ ํด๋ฆญํ•ด ๋‹ค์Œ ํŒŒ์ผ๋กœ ๋„˜์–ด๊ฐ€ ๊ฒ€ํ† ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค

 

์ž ๋ชจ๋“  ํŒŒ์ผ์ด ๊ฒ€ํ† ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด

Review change ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธฐ๊ณ 

Submit review ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด PR ์š”์ฒญ์„ ์™„๋ฃŒํ•œ๋‹ค

 

 


3. PR ๊ฒ€ํ† 

 

์œ„์ฒ˜๋Ÿผ ๋ˆ„๊ตฐ๊ฐ€ ์ƒˆ๋กœ์šด PR ์š”์ฒญ์„ ํ–ˆ๋‹ค๋ฉด,

repository ๋‚ด๋ถ€์˜ pull request ๋ผ๋Š” ํ•ญ๋ชฉ์—

์ƒˆ๋กœ์šด PR์ด ์ƒ๊ฒผ์„ ๊ฒƒ์ด๋‹ค.

ํ•ด๋‹น ํ•˜๋Š” PR ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ

์ฝ”๋ฉ˜ํŠธ๋ฅผ ํ™•์ธ ํ•œ ํ›„

4๊ฐœ์˜ ๋ณ€๋™๋œ ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ ์ž์„ธํžˆ ๋“ค์—ฌ๋‹ค๋ณด์ž.

์ฝ”๋“œ๋‚ด์šฉ์— ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 

์ขŒ์ธก์— ํ‘œ์‹œ๋˜๋Š” line number๋ฅผ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ์˜์—ญ ์ง€์ •๋„ ๊ฐ€๋Šฅํ•˜๋‹ค

 

์ด๋กœ์จ

'๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ + ์ฝ”๋“œ ๋ฆฌ๋ทฐ'๋ฅผ ํ•จ๊ป˜ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋‚˜์”ฉ ๊ฒ€ํ† ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ ,

4๊ฐœ ํŒŒ์ผ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๊ฒ€ํ† ๊ฐ€ ๋๋‚ฌ๋‹ค.

 


4. PR ์ˆ˜๋ฝ

์œ„์—์„œ File change์— ๋Œ€ํ•œ ๊ฒ€ํ† ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด

Review change ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด PR์˜ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Commet : ๊ฒ€ํ†  ํ›„ ํ”ผ๋“œ๋ฐฑ ๋Œ“๊ธ€๋งŒ ๋‚จ๊น€.

Approve : ํ”ผ๋“œ๋ฐฑ ๋Œ“๊ธ€๊ณผ ์Šน์ธ์ด ์ด๋ฃจ์–ด ์ง.

Request changes : ํ•ด๋‹น PR ์š”์ฒญ์ž์—๊ฒŒ ํ”ผ๋“œ๋ฐฑ ๋Œ“๊ธ€์„ ๋‚จ๊ธฐ๊ณ  ์ˆ˜์ •ํ•˜๋„๋ก ์š”์ฒญ.

 

PR์š”์ฒญ๊ณผ Approve '์Šน์ธ'์ด ์ด๋ฃจ์–ด์ง€๋ฉด + repository Rull์—์„œ ์ธ์›์ˆ˜, ์ œํ•œ ์„ค์ • ๊ฐ€๋Šฅ

PR ํŽ˜์ด์ง€์— ์œ„์™€ ๊ฐ™์€ Merge pull request ๋ฒ„ํŠผ์ด ์ƒ๊ธด๋‹ค!

 

๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด 

๋ณด๋ผ์ƒ‰ Merge ์ƒํƒœ๋กœ ๋ณ€ํ•˜๋ฉด์„œ

merge๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ถ”๊ฐ€๋กœ github์—์„œ๋Š”
๋ธŒ๋žœ์น˜ ์‚ญ์ œ ์—ฌ๋ถ€๋ฅผ ๋ฌป๋Š” delete branch ๋ฒ„ํŠผ์„ ์ƒ์„ฑํ•œ๋‹ค.

ํ•ด๋‹น ๋ธŒ๋žœ์น˜์—์„œ์˜ ์ถ”๊ฐ€ ์ž‘์—…์ด ์—†๋‹ค๋ฉด 

 

๋˜๋„๋ก ์‚ญ์ œํ•˜์—ฌ ๋ชฉ์ ์— ๋งž๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ ,

ํ•ด๋‹น ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•˜๊ณ ๋ฅผ ๋ฐ˜๋ณตํ•ด

 

๊น”๋”ํ•œ PR๊ณผ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ์Œ“์•„๊ฐ€๊ธธ ๋ฐ”๋ž€๋‹ค!


+ ํŒ€์›๋“ค๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ :

 

 


 

 ์ตœ์ข… ์ •๋ฆฌ 

  1. pull request ๋Š” ' ๋‚ด ์ž‘์—…๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•ด ์ฃผ์„ธ์š” ' ํ•˜๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒƒ.
  2. PR ํ•˜์—ฌ ์ฝ”๋“œ์˜ ์งˆ์„ ๋†’์ด์ž, ์ฝ”๋“œ๋ฆฌ๋ทฐ + ์ข‹์€ ์†”๋ฃจ์…˜์„ ์–ป๊ธฐ ์œ„ํ•ด.
  3. PR ์ „ ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ๋ธŒ๋žœ์น˜์—์„œ ์›๊ฒฉ(origin) ๋ธŒ๋žœ์น˜๋กœ push๊ฐ€ ๋˜์–ด์žˆ์–ด์•ผ ํ•จ.
  4. PR์š”์ฒญ์€ ๊นƒํ—ˆ๋ธŒ ํŽ˜์ด์ง€์—์„œ ๋‚ด ์ž‘์—… ๋‚ด์šฉ์„ ๊ฒ€ํ† ํ•œ ํ›„ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค
  5. ์ œํ•œ์‚ฌํ•ญ ๋‚ด์—์„œ ๋ณธ์ธ, ํƒ€์ธ์ด File Change๋ฅผ ํ™•์ธํ•˜๊ณ  comment, approve, request change ํ•  ์ˆ˜ ์žˆ๋‹ค.
  6. approve ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด merge pull request ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ , merge pull request๊ฐ€ ๋๋‚˜๋ฉด ๋ฐ˜์˜์ด ์™„๋ฃŒ ๋œ ๊ฒƒ.
  7. delete ๋ธŒ๋žœ์น˜๋กœ ์ถ”๊ฐ€์ž‘์—…์ด ์—†๋Š” ๋ธŒ๋žœ์น˜๋Š” ์‚ญ์ œํ•˜์ž