Issue, Pull Request, Code Review ์ฌ์ฉํ์ฌ ํ์
(feat. PR ์น์ธ ํ ํด์ผํ ์ผ)
0. git ๋ ํผ์งํ ๋ฆฌ ์ฐ๊ฒฐ
1. Issue
2. Pull Request
3. PR ์น์ธ ํ ํด์ผํ ์ผ
0. git ๋ ํผ์งํ ๋ฆฌ ์ฐ๊ฒฐ
์ง๊ธ์ ํ์ ๊ธฐ๋ฅ์ ๊ณต๋ถํ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ฃผ๋ ค๊ณ ํฉ๋๋ค.
ํ์ ๊ธฐ๋ฅ๋ง ์์๊ฐ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ด ๊ณผ์ ์ ๋์ด๊ฐ์ ๋ ์ข์ต๋๋ค.
์ ๋ ์ด๋๊น์ง ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ ์ปค๋ฐ์ ํ๋ฉด์ ๋์์ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค๋ฉด์ ์ปค๋ฐ์ ์งํํ์ต๋๋ค.
๊ทธ๋์ ์ด๋ฒ์๋ ๋ ํผ์งํ ๋ฆฌ๋ฅผ ๋จผ์ ๋ง๋ค๊ณ ํ๋ก์ ํธ๋ฅผ ์ฐ๊ฒฐํด๋ณด์๊ณ , ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
1. Issue
ํ๋ก์ ํธ์ ๊ธฐ๋ฅ์ด๋ ์ฝ๋ ๋๋ ์ค์ ๋ฑ์ ์ถ๊ฐํ๊ณ ์ปค๋ฐ์ ํ๊ณ ์ถ์ ๋, Issue๋ฅผ ๋ฑ๋กํ ์ ์์ต๋๋ค.
Issue์๋ ์ ์ด ์ฝ๋๊ฐ ํ์ํ์ง, ์ด ์ฝ๋์ ๋ชฉ์ ์ด ๋ฌด์์ธ์ง ๋ฑ์ ๋ฐฐ๊ฒฝ๊ณผ ๋ชฉ์ ์ ์ ์ ์์ด์ ๋์ค์ ์ด ์ฝ๋๊ฐ ์ ์ถ๊ฐ/๋ณ๊ฒฝ ๋์๋์ง๋ฅผ ์ ์ ์์ต๋๋ค.
๋ ํผ์งํ ๋ฆฌ์ Issues์ ๋ค์ด๊ฐ์ New issue๋ฅผ ํด๋ฆญํด์ค๋๋ค.
์ฝ๋ ๋ณ๊ฒฝ์ ๋ํ ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์์ฑํ ์ ์์ต๋๋ค.
์ด์์ ๋ํ ์ค๋ช ์ ํ์๋ค๊ณผ ํจ๊ป ์ ํ ํ ํ๋ฆฟ์ ํ์ฉํ์ฌ ์์ฑํ ์ ์์ต๋๋ค.
๊ทธ ํ Create ๋ฒํผ์ ํด๋ฆญํ๋ฉด Issue๊ฐ ์์ฑ๋ฉ๋๋ค.
์ฐ์ธก์์ ์ด์์ ๋ํ ๋ผ๋ฒจ์ ๋ถ์ฌ ์ด๋ค ์ด์์ธ์ง ํ ๋์ ์์๋ณด๊ธฐ ์ฝ๊ฒ ํ ์๋ ์์ต๋๋ค.
์ด๋ ๊ฒ ์ด์๊ฐ ์์ฑ๋๊ณ #1 ์ด๋ ํ์์ ํ์ธํ ์ ์์ต๋๋ค.
commit ํ ๋ ์ปค๋ฐ ๋ฉ์์ง ๋ค์ #1์ ๋ถ์ด๊ฒ ๋๋ฉด Pull Request๋ฅผ ํ ๋ ์ด๋ค ๋ด์ฉ์ ๋ํ Pull Request ์ธ์ง ์ถ์ ํ ์ ์๊ฒ ํด์ค๋๋ค.
2. Pull Request
์ด์ ์ฝ๋์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ณ Pull Request๋ฅผ ํด๋ด ์๋ค.
๊ฐ์ฅ ์ฒ์ init์ด ๋ ํ๋ก์ ํธ ํ์ผ์ git clone์ผ๋ก ๊ฐ์ ธ์ค์ จ์ ๊ฒฝ์ฐ ์์ ์ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์์ ์์ ์ ํ์ค๊ฒ๋๋ค.
git checkout -b ๋ธ๋์น๋ช ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ๋ธ๋์น๋ฅผ ์์ฑํ๋ฉด์ ๊ทธ ๋ธ๋์น๋ก ์ด๋์ ํด์ฃผ๊ณ git branch๋ฅผ ํตํด ํ์ฌ ๋ธ๋์น ์์น๋ฅผ ํ์ธํด์ค๋๋ค.
๊ทธ ํ ์ปค๋ฐ์ ์งํํ๊ณ ์ปค๋ฐ ๋ฉ์์ง์๋ #1์ ๋ถ์ฌ Issue๋ก ์ถ์ ๊ฐ๋ฅํ๊ฒ ํด์ค๋๋ค.
์์ ํ๋ฉด์ฒ๋ผ #1์ ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๋ค๋๋ฉด ์ด์์ ๋ํ ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค.
Compare & pull request ๋ฒํผ์ด ์์ฑ๋ฉ๋๋ค. ์ด ๋ฒํผ์ ๋๋ฅด๊ฒ ๋๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋น๋๋ค.
compare๋ ํฉ์น๊ณ ์ถ์ ๋ธ๋์น, base๋ ํฉ์น ๋ธ๋์น์ ๋ํ ์ค์ ์ํด์ค๋๋ค.
PR์ ๋ํ ์ ๋ชฉ๊ณผ ๋ด์ฉ์ ์ค์ ํ ์ ์๊ณ , ๋ด์ฉ์๋ ํ์๋ค๊ณผ ํจ๊ป ์ ํ ํ ํ๋ฆฟ์ ํ์ฉํ์ฌ ์์ฑํ ์ ์์ต๋๋ค.
๋ณ๊ฒฝ ์ด์ ๋ด์ฉ๊ณผ ๋ณ๊ฒฝ ์ดํ ๋ด์ฉ ๋ฑ์ ์์ฑํ๊ณ Create pull request๋ฅผ ํฉ๋๋ค.
ํ์ฌ๋ ๊ท์น์ด ์๊ธฐ ๋๋ฌธ์ ํผ์์ Merge pull request๋ฅผ ์งํํ ์ ์์ง๋ง ํ์๋ค๊ณผ ํ์ ํ ๋์๋ ๊ท์น์ ์ ํด์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ ํ์ธ์ ๋ฐ์ ํ Merge๋ฅผ ํ ์ ์๋๋ก ์ ํ๋ฉด ๋ฉ๋๋ค.
Merge๋ฅผ ํด์ฃผ๋ฉด test์ ์์ฑํ ๋ด์ฉ์ด main์๋ ๋ฐ์๋๊ฒ ๋ฉ๋๋ค.
๊ทธ ํ ํด๊ฒฐ์ด ๋ Issue๋ Close ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
3. PR ์น์ธ ํ ํด์ผํ ์ผ
๋ณธ์ธ์ PR์ด ์น์ด ๋์์ ๊ฒฝ์ฐ์๋ ์๋ ์์ ์ ๊ณ์ํ๋ฉด ๋์ง๋ง ๋ค๋ฅธ ์ฌ๋์ PR์ด ์น์ธ ๋์์ ๊ฒฝ์ฐ์๋ ๊ผญ ํด์ผํ ์ผ์ด ์กด์ฌํฉ๋๋ค.
๋ค์ ํ๋ก์ ํธ๋ก ๋์๊ฐ๋ด ์๋ค.
๋ค๋ฅธ ์ฌ๋์ด ๋ณ๊ฒฝํ ์ฝ๋๊ฐ main์ผ๋ก ํฉ์ณ์ง๊ฒ ๋์์ผ๋๊น ๊ทธ ์ฝ๋๋ฅผ ํฉ์น๊ธฐ ์ํด์๋ pull์ ํด์ค์ผํฉ๋๋ค.
ํ์ฌ์ ์์ ์ค์ธ ๋ธ๋์น์์ pull ํด์ฃผ๊ฒ ๋๋ฉด PR ์ด์ ์ ์ฝ๋๊ฐ ๋ค์ด์๊ธฐ ๋๋ฌธ์ main์ผ๋ก ์ด๋ํด์ pull ํด์ค ํ ์์ ํ๋ ๋ธ๋์น๋ก ๋์์์ pull ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
์ ๊นํ๋ธ์ ํ์ฌ ์ํฉ์ ์ด๋ ์ต๋๋ค.
ํญ์ Commit์๋ง 100% ์ด์๋๋ฐ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํ๋ฉด ์ด๋ ๊ฒ ๋ถํฌ๊ฐ ๋ฉ๋๋ค.
์์ ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ ์ํํ๊ฒ ํ์ ํ ์ ์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์ !
ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์์ ๋๋ค <3
'๐ฉ๐ปโ๐ป Dev' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JUnit] JUnit์ผ๋ก ์ํ ์ญ์ ๊ธฐ๋ฅ ํ ์คํธ ์ฝ๋ ์์ฑํ๊ธฐ (0) | 2025.02.23 |
---|---|
[Git] Git Clone, Fork (0) | 2025.02.18 |
[RESTful] RESTful ์๋น์ค๋? (0) | 2025.02.14 |
[Git] Git๊ณผ Github (0) | 2025.02.13 |
[HTML/CSS] ๋์งํธ ์๊ณ ํด๋ก ์ฝ๋ฉํ๋ฉด์ HTML, CSS, Javascript ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์์๋ณด๊ธฐ (0) | 2025.02.04 |