๐Ÿฆพpull request๐Ÿฆฟ

๋ณด๋กœ๊ผฌ๋ฆฌยท2021๋…„ 3์›” 19์ผ

github

๋ชฉ๋ก ๋ณด๊ธฐ
1/2
post-thumbnail

Fork? Clone?

  • fork

    ์›๊ฒฉ์ €์žฅ์†Œ(๋ฆฌํฌ์ง€ํ† ๋ฆฌ)๋ฅผ ๋‚ด ๊ฒƒ์œผ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค. ์ˆ˜์ •์„ ํ•ด๋„ ์›๋ž˜์˜ repo์—๋Š” ์ง€์žฅ์ด ์—†์œผ๋ฏ€๋กœ ๊ฑฑ์ •์—†์ด ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • clone

    ๊ฐ™์€ repo๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋•Œ๋ฌธ์— ์ˆ˜์ •์„ ํ•˜๋ฉด ์›๋ณธ์˜ repo์—๋„ ๊ฐ™์ด ์ˆ˜์ •์ด ๋ฉ๋‹ˆ๋‹ค.

what's pull request?

  • ์ž‘์—…ํ•œ ์ฝ”๋“œ๋ฅผ repository์— merge ํ•˜๊ธฐ ์ „ merge๊ฐ€ ์ด๋ฃจ์–ด์ ธ๋„ ์ข‹์€ ์ง€ ์ฝ”๋“œ์˜ ๊ด€๋ฆฌ์ž๋“ค์ด๋‚˜ ํŒ€์›๋“ค์—๊ฒŒ ๋ฆฌ๋ทฐ ๋ฐ›๋Š”๊ฒƒ
  • ํŠน์ • ๊ฐœ์ธ์ด ๋งˆ์Œ๋Œ€๋กœ ์ฝ”๋“œ ์ €์žฅ์†Œ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๊ฒŒ ํ•˜๋Š” ๊ฒƒ

pull requests good thing

  • ์ค‘์š”ํ•œ branch ๋ณดํ˜ธ(master branch)ํ•ด ํ˜‘์˜์—†์ด๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

  • ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ์ด ์ด๋ฃจ์–ด์ ธ๋„ ์ข‹์€์ง€ ํ•จ๊ป˜ ์‚ดํŽด๋ณด๋ฉด์„œ ์ฝ”๋“œ๋ฆฌ๋ทฐ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.

    โ†’ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ•™์Šต์—๋„ ์ข‹์€ ์˜ํ–ฅ์„ ๋ผ์น˜๋‹ค.

    โ†’ ๋‹ค๋ฅธ์‚ฌ๋žŒ์—๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค๋Š” ์ƒ๊ฐ์„ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœํ•˜๊ฒŒ๋˜๋ฉด ์ฝ”๋“œ์— ํ’ˆ์งˆ์— ์‹ ๊ฒฝ์“ฐ๊ฒŒ๋œ๋‹ค.

์ด ๊ฒŒ์‹œ๊ธ€์—์„œ ๋ชจ๋“  pull requests๋Š” ๊นƒํ—ˆ๋ธŒ ์›นํŽ˜์ด์ง€๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ์ •์ฑ…

  1. ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ settings ํด๋ฆญ
  2. branches ํด๋ฆญ
  3. add rule ํด๋ฆญ
  4. branch name pattern โ†’ ๋ชธํ†ต๋ธŒ๋žœ์น˜๊ฐ€ ๋˜๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ํ™•์ธํ•˜๊ณ  ์จ์ฃผ์„ธ์š” main or marster
    • ๋ฆฌ๋ทฐ๋ฅผ ๋ช†๋ช…์—๊ฒŒ ๋ฐ›์•„์•ผํ•˜๋Š”์ง€ ์ฒดํฌํ•˜๊ณ  ์„ค์ •๋œ ์ธ์›์ˆ˜์˜ ์‚ฌ๋žŒ์—๊ฒŒ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•„์•ผ์ง€ mergeํ• ์ˆ˜์žˆ์Šต๋‹ˆ๋‹ค
    • ์ด ์ ์šฉ์‚ฌํ•ญ์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ์ฃผ์ธ์—๊ฒŒ๋„ ์ ์šฉ๋˜๊ฒŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  1. ์ด์™€๊ฐ™์ด ์„ค์ •์„ ํ–ˆ๋‹ค๋ฉด ์•ž์œผ๋กœ ์šฐ๋ฆฌ๋Š” main or marster ๋ธŒ๋žœ์น˜์— ๊ณง๋ฐ”๋กœ commit์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋‹ค์Œ์— ์šฐ๋ฆฌ๊ฐ€ ํ•ด์•ผํ•  ๊ฒƒ์€?

pull request routine

๋‹น์‹ ์ด ์ปค๋ฐ‹์„ ํ–ˆ๋‹ค๋ฉด

  1. ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ๋”ดํ›„ ์ปค๋ฐ‹๊ณผ ํ‘ธ์‰ฌ๋ฅผ ํ•ด์ค๋‹ˆ๋‹ค
    (์•„์ง ์ˆ™๋‹ฌ๋˜์ง€์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋ฐ‹๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ๋”ฐ๋ด…๋‹ˆ๋‹ค)

  2. github๋กœ ๋Œ์•„์™€ ํ‘ธ์‰ฌํ•œ ์‚ฌํ•ญ์„ ํ’€๋ฆฌํ€˜์ŠคํŠธ ์š”์ฒญํ•ด์ค๋‹ˆ๋‹ค.

    ์•„๋ž˜์˜ ์‚ฌ์ง„์—์„œ ๋จธ์ง€์‹œํ‚ค๊ธธ ์›ํ•˜๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์„ ํƒ,ํ™•์ธ ํ•ด์ค๋‹ˆ๋‹ค(๋ณดํ†ต main or master)

    ๋ฉ”์„ธ์ง€๋ฅผ ์ ์–ด์ฃผ๊ณ  ํ’€๋ฆฌํ€˜์ŠคํŠธ ์š”์ฒญ์„ ํ•ด์ค๋‹ˆ๋‹ค.

  1. ์š”์ฒญ์„ ์™„๋ฃŒ ํ–ˆ๋‹ค๋ฉด ์•„๋ž˜ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ฌด์„ญ๊ฒŒ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜์žˆ์Šต๋‹ˆ๋‹ค.

    ํ•˜์ง€๋งŒ don't worry

    review required โ†’ ๊ฒ€ํ† ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

    merging is blocked โ†’ ๋จธ์ง€(๋ณ‘ํ•ฉ)์ด ์ฐจ๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    ๋ธŒ๋žœ์น˜ ๋ณดํ˜ธ์ •์ฑ… ์„ค์ •์„ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  1. repo๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” Contributor์˜ ๋ฆฌ๋ทฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค๋ฉด

  1. repo์˜ ๋ฉ”๋‰ด๋ฐ”์— ๋ณด๋ฉด pull requests๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค.

    ๊ทธ ์˜†์— ์ˆซ์ž๊ฐ€ ๋ณด์ด๋‚˜์š”?
    ์ด ์˜๋ฏธ๋Š” pull requests๊ฐ€ 3๊ฐœ๊ฐ€ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. 
  1. ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•  2๊ฐœ์˜ ํ’€๋ฆฌํ€˜๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค.
    ๊ทธ๋Ÿผ ํ•˜๋‚˜์˜ ํ’€๋ฆฌํ€˜ ์š”์ฒญ์— ๋“ค์–ด๊ฐ€ ๋ณด๊ฒŸ์Šต๋‹ˆ๋‹ค.
  1. ๋ฆฌ๋ทฐ์–ด์˜ ์š”์ฒญ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ๋ณด์ž…๋‹ˆ๋‹ค.
  1. 1 โ†’ ์ปค๋ฐ‹ ๋ฉ”๋‰ด๋กœ ๋“ค์–ด๊ฐ€ ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ์ถ”๊ฐ€๋œ๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค
    2 โ†’ review changes(๋ณ€๊ฒฝ์‚ฌํ•ญ๊ฒ€ํ† ) ๋ฒ„ํŠผํด๋ฆญ
    3 โ†’ ์ž‘์„ฑํ•  ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์จ์ฃผ์„ธ์š”

    4 โ†’ ์ปค๋ฐ‹ํ•œ ์ฝ”๋“œ๊ฐ€ ๋งˆ์Œ์— ๋“ค์—ˆ๋‹ค๋ฉด(?) approve๋ฅผ ์„ ํƒํ•˜๊ณ  submit์„ ํ•ด์ค๋‹ˆ๋‹ค.
    ํ•˜์ง€๋งŒ, ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ๋งˆ์Œ์— ๋“ค์ง€์•Š์•˜๋‹ค๋ฉด comment๋ฅผ ์ž‘์„ฑํ•ด ์™œ ์ด๋”ด ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์—ˆ๋ƒ๊ณ  ๋”ฐ์ ธ์ค๋‹ˆ๋‹ค. ์ด๋•Œ Request changes๋ฅผ ์„ ํƒํ•ด ๋ณ€๊ฒฝ์š”์ฒญ์„ ํ•ด์ค„์ˆ˜๋„์žˆ์Šต๋‹ˆ๋‹ค
    ํ•˜์ง€๋งŒ ์ €๋Š” ๋ฌด์กฐ๊ฑด ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ํŠธ๋Ÿฌ๋ธ”์ด๋ž€ ์—†๊ธฐ๋•Œ๋ฌธ์—!!!111

  2. ์ถฉ๋Œ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”๋กœ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— merge(๋ณ‘ํ•ฉ) ์‹œํ‚ฌ์ˆ˜์žˆ์Šต๋‹ˆ๋‹ค.

    thanks god๐Ÿ‘Œ (๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋‹ˆ ์–ด๋А์ƒˆ ๋ชจ๋“  ์‹ ์„ ๋ฏฟ๊ณ ์žˆ๋Š” ์ €๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค)
    ์•„๋ž˜ ๋จธ์ง€ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์„ฑ๊ณตํ•œ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณผ์ˆ˜์žˆ์Šต๋‹ˆ๋‹ค.
    ์ €๋Š” ๊น”๋”ํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ์œ„ํ•ด delete branch ํด๋ฆญ. ์ง€์›Œ๋„ ๋˜๋Œ๋ฆฌ๊ธฐ(revert) ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    6. ์™„๋ฃŒ๊ฐ€ ๋˜์–ด Create hoho ๊ฐ€ ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    code์—์„œ๋„ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

4. ๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ€ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ•ด๋ณด๊ฒŸ์Šต๋‹ˆ๋‹ค.

  • 1์˜ ๊ฒฝ์šฐ๋Š” comment ์„ ํƒ์„ ํ•˜๊ณ  ์˜๊ฒฌ์„ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

  • 2์˜ ๊ฒฝ์šฐ๋Š” request changes(๋ณ€๊ฒฝ์š”์ฒญ)์„ ํ•˜๋ฉด์„œ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.

    ์ด ๊ฒฝ์šฐ ๋ณ€๊ฒฝ์„ ํ• ๊ฒฝ์šฐ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๋˜ ide๋กœ ๋Œ์•„๊ฐ€ ์ƒˆ๋กœ ์ปค๋ฐ‹์„ ํ•ด์ค๋‹ˆ๋‹ค.
    ์š”์ฒญ์„ ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ์—†๊ณ  ๋จธ์ง€๋ฅผ ์‹œ์ผœ๋„ ๋  ๊ฒฝ์šฐ 4๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ€ approve ํ›„ submit์„ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

profile
1. ๋‚˜๋Š” ๋ฌด์—‡์„ ๋ชจ๋ฅด๋Š”๊ฑธ๊นŒ 2. ์‚ฌ์†Œํ•œ ๊ฒƒ๋„ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋Š” ๋„์›€์ด ๋œ๋‹ค.

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2021๋…„ 4์›” 2์ผ

์ตœ๊ณ ์˜ˆ์š”... ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿฅฆ

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ