์ด๋ณด ๊ฐ๋ฐ์๋ฅผ ์ํ GitHub Pull Request ๋ง๋ค๊ณ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ๋ ๋ฒ(์ค์ต ์ค์ฌ)
์ด๋ณด ๊ฐ๋ฐ์๋ฅผ ์ํ GitHub Pull Request ๋ง๋ค๊ณ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ๋ ๋ฒ(์ค์ต ์ค์ฌ) ์ฒ์ PR(Pull Request)์ ์ฌ๋ฆด...
์ด๋ณด ๊ฐ๋ฐ์๋ฅผ ์ํ GitHub Pull Request ๋ง๋ค๊ณ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ๋ ๋ฒ(์ค์ต ์ค์ฌ)
์ฒ์ PR(Pull Request)์ ์ฌ๋ฆด ๋ ์ ์ผ ๊ธด์ฅ๋๋ ์๊ฐ์ โ๋ด ์ฝ๋๊ฐ ๋๊ตฐ๊ฐ์๊ฒ ๋ณด์ธ๋คโ๋ ์ฌ์ค์ด์ฃ . ๊ทธ๋ฐ๋ฐ ํ ๋ฒ๋ง ํ๋ฆ์ ์ ๋๋ก ์ก์๋๋ฉด, PR์ ํผ๋๋ ์๋ฆฌ๊ฐ ์๋๋ผ ๋ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๋ ๋ฃจํด์ด ๋ฉ๋๋ค. ์ค๋์ โ์๊ฒ ๋ฐ๊พธ๊ณ , ๋ช ํํ๊ฒ ์ค๋ช ํ๊ณ , ๋ฆฌ๋ทฐ๋ฅผ ์ ๋ฐ๋โ ๋ฐฉ์์ผ๋ก PR์ ์ง์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
1) PR์ด ๋ญ๊ณ , ์ ํ์ํ๊ฐ
PR์ ๋ด๊ฐ ๋ง๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ฉ์ธ ๋ธ๋์น์ ํฉ์น๊ธฐ ์ ์ ํ์(๋๋ ์คํ์์ค ๋ฉ์ธํ ์ด๋)์๊ฒ ๋ณด์ฌ์ฃผ๊ณ ํ ๋ก ํ๋ ๊ณผ์ ์ ๋๋ค.
- ๋ณ๊ฒฝ์ฌํญ ๊ณต์ : ์ด๋ค ์๋๋ก ๋ฌด์์ ๋ฐ๊ฟจ๋์ง ๊ธฐ๋ก
- ๊ฒ์ฆ: ๋ฒ๊ทธ/์ค์/์ฃ์ง ์ผ์ด์ค๋ฅผ ๋ค๋ฅธ ์์ ์ผ๋ก ํ์ธ
- ์ง์ ์ ํ: ๋ฆฌ๋ทฐ ์ฝ๋ฉํธ ์์ฒด๊ฐ ๋ฌธ์๊ฐ ๋จ
2) ์ค์ต ์๋๋ฆฌ์ค: ๋ฌธ์ ํ ์ค ์์ ์ผ๋ก PR ์ฌ๋ฆฌ๊ธฐ
์ฒ์์ ์ฝ๋๋ณด๋ค README ๊ฐ์ ๋ฌธ์ ์์ ์ด ๋ถ๋ด์ด ์ ์ต๋๋ค. ์๋ฅผ ๋ค์ด README.md์ ์ฌ์ฉ๋ฒ ํ ์ค์ ์ถ๊ฐํด PR์ ์ฌ๋ ค๋ณผ๊ฒ์.
2-1. ์ ์ฅ์ ํฌํฌ/ํด๋ก & ๋ธ๋์น ๋ง๋ค๊ธฐ
ํฐ๋ฏธ๋์์ ์๋์ฒ๋ผ ์งํํฉ๋๋ค.
git clone ์ ์ฅ์์ฃผ์
cd ์ ์ฅ์ํด๋
git checkout -b docs/add-usage
๋ธ๋์น ์ด๋ฆ์ ๋ฌด์์ ํ๋์ง ํ๋์ ๋ณด์ด๊ฒ ์ง๋ ๊ฒ ์ข์ต๋๋ค. (docs/, fix/, feat/ ๊ฐ์ ์ ๋์ด๋ ํ ๊ท์น์ ๋ง์ถ์ธ์.)
2-2. ๋ณ๊ฒฝํ๊ณ ์ปค๋ฐํ๊ธฐ
README.md์ ํ ์ค ์ถ๊ฐ ํ ์ํ ํ์ธ:
git status
git add README.md
git commit -m "docs: add usage line to README"
์ปค๋ฐ ๋ฉ์์ง๋ ์งง์ง๋ง ๊ตฌ์ฒด์ ์ผ๋ก. โupdateโ ๊ฐ์ ๋จ์ด๋ง ์ฐ๋ฉด ๋์ค์ ๋ด๊ฐ ๋ด๋ ๊ธฐ์ต์ด ์ ๋ฉ๋๋ค.
2-3. ํธ์ํ๊ณ PR ๋ง๋ค๊ธฐ
git push -u origin docs/add-usage
์ด์ GitHub์์ โCompare & pull requestโ ๋ฒํผ์ ๋๋ฌ PR์ ์์ฑํฉ๋๋ค.
3) ๋ฆฌ๋ทฐ๊ฐ ์ ๋ฌ๋ฆฌ๋ PR ์์ฑ๋ฒ(ํต์ฌ)
PR ๋ณธ๋ฌธ์ ๊ธธ๊ฒ ์ฐ๋ ๊ธ์ด ์๋๋ผ, ๋ฆฌ๋ทฐ์ด์ ์๊ฐ์ ์๊ปด์ฃผ๋ ์๋ด์์ ๋๋ค. ์๋ ํ ํ๋ฆฟ์ฒ๋ผ ์์ฑํด๋ณด์ธ์.
3-1. PR ํ ํ๋ฆฟ ์์
Title: docs: README ์ฌ์ฉ๋ฒ ํ ์ค ์ถ๊ฐ
Body
- ๋ณ๊ฒฝ ์์ฝ: README์ ์คํ ์์ ๋ฌธ์ฅ 1์ค ์ถ๊ฐ
- ๋ณ๊ฒฝ ์ด์ : ์ฒ์ ๋ณด๋ ์ฌ์ฉ์๊ฐ ์คํ ๋ฐฉ๋ฒ์ ๋ฐ๋ก ์ดํดํ๊ธฐ ์ด๋ ต๋ค๋ ํผ๋๋ฐฑ์ด ์์ด ๋ณด์
- ํ ์คํธ ๋ฐฉ๋ฒ: README ๋ ๋๋ง ํ์ธ, ๋ฌธ์ฅ/์์ ๊นจ์ง ์์
- ์คํฌ๋ฆฐ์ท/๊ฒฐ๊ณผ: (๋ฌธ์๋ฉด ์๋ต ๊ฐ๋ฅ)
- ๊ด๋ จ ์ด์: (์๋ค๋ฉด) #๋ฒํธ ์ฌ๊ธฐ์ ํฌ์ธํธ๋ โ์โ์ โ์ด๋ป๊ฒ ํ์ธํ๋์งโ์ ๋๋ค. ์ด ๋ ์ค๋ง ์ ์จ๋ ๋ฆฌ๋ทฐ ์๋๊ฐ ํ ์ฌ๋ผ๊ฐ๋๋ค.
3-2. PR ํฌ๊ธฐ๋ ์๊ฒ, ๋ ผ์ ์ ํ๋๋ก
์ด๋ณด ๋ ๊ฐ์ฅ ํํ ์ค์:
- ๋ฌธ์ ์์ PR์ ๋ถํ์ํ ํฌ๋งทํ ๋์ฒญ์
- ๊ธฐ๋ฅ ์ถ๊ฐํ๋ฉด์ ๋ฆฌํฉํฐ๋ง๊น์ง ํ ๋ฒ์ PR์ด ์ปค์ง๋ฉด ๋ฆฌ๋ทฐ๊ฐ ๋ฆ์ด์ง๊ณ , ํผ๋๋ฐฑ๋ ๋ญ๋ฑ๊ทธ๋ ค์ง๋๋ค. ๊ฐ๋ฅํ๋ฉด ํ PR = ํ ๋ชฉ์ ์ผ๋ก ์ชผ๊ฐ์ธ์.
4) ์ฝ๋ ๋ฆฌ๋ทฐ ์์ฒญํ๋ ์๋ น(๋ง ๊ฑธ๊ธฐ ์ด๋ ต๋ค๋ฉด ์ด๋ ๊ฒ)
๋ฆฌ๋ทฐ๋ โ๋ด์ฃผ์ธ์โ๊ฐ ์๋๋ผ ์ด๋๋ฅผ ๋ด๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๊ฒ ์ข์ต๋๋ค.
- โ๋ก์ง์ ๋จ์ํ๋ฐ, ์๋ฌ ์ฒ๋ฆฌ ๋ฐฉ์์ด ์ ์ ํ์ง ๋ด์ฃผ์ค ์ ์์๊น์?โ
- โํจ์ ์ด๋ฆ์ด ์ ๋งคํ๋ฐ ๋ ์ข์ ๋ค์ด๋ฐ์ด ์์๊น์?โ
- โ์ด ๋ถ๋ถ ์ฑ๋ฅ ์ด์๊ฐ ์์์ง ๊ฐ์ด ์ ์ต๋๋ค. ์ฒดํฌ ๋ถํ๋๋ ค์.โ ๋, ๊ธํ๋ฉด PR ๋ณธ๋ฌธ์ ๋ฆฌ๋ทฐ ์ฐ์ ์์๋ฅผ ์ ์ด๋์ธ์. ์: โํต์ฌ ๋ณ๊ฒฝ์ parser.py์ parse() ํจ์, ๋๋จธ์ง๋ ํ ์คํธ ์ฝ๋์ ๋๋ค.โ
5) ๋ฆฌ๋ทฐ ์ฝ๋ฉํธ ๋์: ์ด๋ณด๊ฐ ์์ฃผ ๋งํ๋ 3๊ฐ์ง
5-1. ์ง์ ๋ฐ์ผ๋ฉด ๋ฐฉ์ด์ ์ผ๋ก ๋๊ปด์ง ๋
๋ฆฌ๋ทฐ๋ ์ฌ๋ ํ๊ฐ๊ฐ ์๋๋ผ ์ฝ๋ ํ์ง์ ์ฌ๋ฆฌ๋ ๋ํ์ ๋๋ค. ๋ชจํธํ๋ฉด ์ด๋ ๊ฒ ๋ฌผ์ด๋ณด์ธ์: โ์ด ๋ฐฉ์์ด ๋ ์ข์ ์ด์ ๊ฐ ์์๊น์? ์ ๊ฐ ๋์น ์ผ์ด์ค๊ฐ ๊ถ๊ธํฉ๋๋ค.โ
5-2. ์์ ์ปค๋ฐ์ ์ด๋ป๊ฒ ์ฌ๋ฆฌ๋
์ฝ๋ฉํธ ๋ฐ์ ํ ๋์ผ ๋ธ๋์น์ ์ปค๋ฐํ๊ณ ํธ์ํ๋ฉด PR์ ์๋ ๋ฐ์๋ฉ๋๋ค.
git add .
git commit -m "fix: address review comments"
git push
5-3. ๋ํ๋ ๋จ๊ธฐ๊ณ , ํด๊ฒฐ์ ๋ช ํํ๊ฒ
์ฝ๋ฉํธ๋ฅผ ๋ฐ์ํ๋ค๋ฉด GitHub์์ ํด๋น ์ค๋ ๋์ โ๋ฐ์ํ์ต๋๋ค. ~ ๋ฐฉ์์ผ๋ก ์์ ํ๊ณ ํ ์คํธ๋ ํต๊ณผํ์ต๋๋ค.โ์ฒ๋ผ ์งง๊ฒ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ๊ณ Resolve ์ฒ๋ฆฌํฉ๋๋ค.
6) ๋จธ์ง ์ ๋ง์ง๋ง ์ฒดํฌ๋ฆฌ์คํธ
PR ์ ๋ชฉ์ด ๋ณ๊ฒฝ๋ด์ฉ์ ๋ํํ๋ค
โ์ ๋ฐ๊ฟจ๋์งโ๊ฐ ๋ณธ๋ฌธ์ ์๋ค
ํ ์คํธ/ํ์ธ ๋ฐฉ๋ฒ์ ์ ์๋ค
๋ถํ์ํ ํ์ผ ๋ณ๊ฒฝ์ด ์๋ค
๋ฆฌ๋ทฐ ์ฝ๋ฉํธ์ ๋ต์ด ๋ฌ๋ ค ์๋ค
PR์ ํ ๋ฒ์ ์๋ฒฝํ๋ ค๊ณ ์ฌ๋ฆฌ๋ ๊ฒ ์๋๋ผ, ๋ฆฌ๋ทฐ๋ฅผ ํตํด ์ข์์ง๋๋ก ์ฌ๋ฆฌ๋ ๊ฒ์ ๋๋ค. ์ค๋์ ๋ฌธ์ ํ ์ค๋ก ์์ํ์ง๋ง, ๊ฐ์ ํ๋ฆ์ผ๋ก ๊ธฐ๋ฅ ์ถ๊ฐ PR๋ ์ถฉ๋ถํ ํ ์ ์์ด์. ๋ค์ ๋จ๊ณ๋ก๋ โํ ์คํธ ์ฝ๋ ํฌํจ PRโ์ ํ ๋ฒ ๋ง๋ค์ด๋ณด๋ฉด ์ฑ์ฅ ์๋๊ฐ ํ ๋ฌ๋ผ์ง๋๋ค.
โฌ๏ธ ์ด ๊ธ์ด ๋์์ด ๋์ จ๋ค๋ฉด, ์๋ ๊ด๊ณ ๋ฅผ ํ ๋ฒ๋ง ํด๋ฆญํด์ฃผ์ธ์! ์ ์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค ๐โโ๏ธ โฌ๏ธ