๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Git

[GitHub] PR, Issue ํ…œํ”Œ๋ฆฟ ๋„ฃ๊ธฐ

by lizzydev 2023. 2. 10.

ํŽธ๋ฆฌํ•œ github ํ˜‘์—…์„ ์œ„ํ•ด์„œ ๋‘๊ณ ๋‘๊ณ  ์“ธ pr๊ณผ issue ํ…œํ”Œ๋ฆฟ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์„ ๋น ๋ฅด๊ฒŒ ์‡ฝ์‚ญ ์•Œ์•„๋ด…์‹œ๋‹ค.

Issue ํ…œํ”Œ๋ฆฟ ๋„ฃ๊ธฐ

์ด์Šˆํ…œํ”Œ๋ฆฟ์€ github ์›๊ฒฉ ๋ ˆํฌ์—์„œ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. Settings ๋“ค์–ด๊ฐ€๊ธฐ

ํ…œํ”Œ๋ฆฟ ์„ค์ •์„ ์›ํ•˜๋Š” repository์˜ settings์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

2. Set up templates ํด๋ฆญ

์Šคํฌ๋กค์„ ๋‚ด๋ ค Features - Issues - Set up templates ์ดˆ๋ก์ƒ‰ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

3. ์›ํ•˜๋Š” ํ…œํ”Œ๋ฆฟ ์ข…๋ฅ˜ ์„ ํƒ

์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค์–ด ๋‘๋ฉด ์ด์Šˆ๋ฅผ ์ƒ์„ฑ ํ•  ๋•Œ ์ด์Šˆ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋งž๋Š” ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ํ…œํ”Œ๋ฆฟ ์ž‘์„ฑ

feature request๋ฅผ ์„ ํƒํ•˜์˜€๊ณ  preview and edit ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

์ˆ˜์ •์„ ์œ„ํ•ด ์—ฐํ•„ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค!

ํŒ€์—์„œ ์“ธ ํ…œํ”Œ๋ฆฟ ๋‚ด์šฉ๋“ค๋กœ ์ฑ„์›Œ์ค๋‹ˆ๋‹ค

  • ํ…œํ”Œ๋ฆฟ ์ด๋ฆ„
  • ํ…œํ”Œ๋ฆฟ์— ๋Œ€ํ•œ ์„ค๋ช…
  • ํ…œํ”Œ๋ฆฟ ๋‚ด์šฉ
  • ๊ธฐ๋ณธ์œผ๋กœ ๋„ฃ์–ด ๋†“์„ ์ด์Šˆ ์ œ๋ชฉ
  • ๊ธฐ๋ณธ์œผ๋กœ ๋„ฃ์–ด๋†“์„ Asignees
  • ๊ธฐ๋ณธ์œผ๋กœ ๋„ฃ์–ด๋†“์„ Label

 

์˜ˆ์‹œ ํ…œํ”Œ๋ฆฟ

## ๐Ÿ’ก Feature Issue
<!-- ๊ด€๋ จ ์ด์Šˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. -->

## ๐ŸŒฟ  To-do
<!-- ํ•ด์•ผ ํ•  ์ผ๋“ค์„ ์ ์–ด์ฃผ์„ธ์š”. -->
- [ ] todo

์ž‘์„ฑ์™„๋ฃŒ ํ›„ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ Propose changes ๋ฅผ ๋ˆ„๋ฅด๊ณ  ์ปค๋ฐ‹์„ ์ž‘์„ฑํ•˜์—ฌ commit changes ๋ฅผ ๋ˆŒ๋Ÿฌ ์„ค์ •์„ ์™„๋ฃŒํ•ด ์ค๋‹ˆ๋‹ค.

์„ค์ •์„ ์™„๋ฃŒํ•˜์—ฌ ์ด์Šˆ ์ž‘์„ฑ ์‹œ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด์Šˆ ํ…œํ”Œ๋ฆฟ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Pull Request ํ…œํ”Œ๋ฆฟ ๋„ฃ๊ธฐ

prํ…œํ”Œ๋ฆฟ ์ถ”๊ฐ€๋Š” issue์™€ ๋‹ค๋ฅด๊ฒŒ ์›๊ฒฉ๋ ˆํฌ์—์„œ ํŽธํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชป์ฐพ์•˜๋Š”๋ฐ ์•„์‹œ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์šฉ

์ด์Šˆ ํ…œํ”Œ๋ฆฟ์„ ์ƒ์„ฑํ•˜๋ฉด ์ž๋™์œผ๋กœ ๊นƒํ—™ ๋ ˆํฌ์˜ ์ตœ์ƒ๋‹จ ๊ฒฝ๋กœ์— .githubํด๋”๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.

์ด ํด๋” ์•ˆ์— ISSUE_TEMPLATE์ด๋ผ๋Š” ํด๋”๋Š” ์ด๋ฏธ ์ƒ์„ฑ ๋˜์–ด ์ด์Šˆํ…œํ”Œ๋ฆฟ์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ์‚ฌ์ง„์—๋Š” ์ด๋ฏธ pr ํ…œํ”Œ๋ฆฟ์ด ๋งŒ๋“ค์–ด์ ธ ์žˆ๋Š”๋ฐ ์‚ฌ์ง„์ฒ˜๋Ÿผ ํ•ด๋‹น ๊ฒฝ๋กœ์— pull_request_template.md ๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ํ…œํ”Œ๋ฆฟ ๋‚ด์šฉ์„ ๋งˆํฌ๋‹ค์šด ๋ฐฉ์‹์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค!

ํ…œํ”Œ๋ฆฟ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์„ ์ƒ์„ฑ ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์„ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

vim pull_request_template.md

vim ํŽธ์ง‘๊ธฐ๊ฐ€ ์—ด๋ฆฌ๋ฉด i ๋ฅผ ๋ˆŒ๋Ÿฌ ํŽธ์ง‘ ๋ชจ๋“œ๋กœ ์ „ํ™˜ ํ•œ ๋’ค ๋งˆํฌ๋‹ค์šด์œผ๋กœ ๊ตฌ์„ฑ๋œ ์›ํ•˜๋Š” ํ…œํ”Œ๋ฆฟ ์–‘์‹์„ ์ถ”๊ฐ€ ํ•ด์ค€ ๋’ค

:wq ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ €์žฅํ•˜๊ณ  ๋น ์ ธ๋‚˜์˜ต๋‹ˆ๋‹ค.

์˜ˆ์‹œ ํ…œํ”Œ๋ฆฟ

### ๐Ÿ‘€ ๊ด€๋ จ ์ด์Šˆ
<!-- ๊ด€๋ จ ์ด์Šˆ๋ฅผ ์ ์–ด์ฃผ์„ธ์š” -->

### โœจ ์ž‘์—…ํ•œ ๋‚ด์šฉ
<!-- ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์ ์–ด์ฃผ์„ธ์š” -->

### ๐ŸŒ€ PR Point
<!-- ์ฝ”๋“œ๋ฆฌ๋ทฐ๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์ ์–ด์ฃผ์„ธ์š” -->

### ๐Ÿฐ ์ฐธ๊ณ ์‚ฌํ•ญ
<!-- ์ฐธ๊ณ ํ•  ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ์ ์–ด์ฃผ์„ธ์š” -->

### ๐Ÿ“ท ์Šคํฌ๋ฆฐ์ƒท ๋˜๋Š” GIF
|๊ธฐ๋Šฅ|์Šคํฌ๋ฆฐ์ƒท|
|:--:|:--:|
|||

์œ„์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ commit ํ•˜๊ณ  ์›๊ฒฉ ์ €์žฅ์†Œ์— push๋ฅผ ์™„๋ฃŒ ํ•ด์ฃผ๋ฉด pr์„ ๋‚ ๋ฆด ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด pr ํ…œํ”Œ๋ฆฟ์ด ์ ์šฉ ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

+๋‹ค๋ฅธ ๋ ˆํฌ์—์„œ ์“ฐ๋˜ ํ…œํ”Œ๋ฆฟ์„ ์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด .githubํด๋”๋งŒ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ ์ตœ์ƒ๋‹จ๊ฒฝ๋กœ์— ๋ณต๋ถ™ํ•ด์ฃผ๋ฉด ๊ทธ๋Œ€๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค~~