1. ๐จโ๐จโ๐ฆโ๐ฆ Githubแ แ ฉ แแ งแธแแ ฅแธ แแ ณแ แ ฉแแ ฆแจแแ ณ แแ ชแซแ แ ตแแ กแแ ต
title: "๐จโ๐จโ๐ฆโ๐ฆ Github๋ก ํ์ ํ๋ก์ ํธ ๊ด๋ฆฌํ๊ธฐ " description: ""์ด์(Issue) ๋ฑ๋ก โก ํ๋ฆฌํ์คํธ(Pull request) ์์ฒญ โก ์ฝ๋๋ฆฌ๋ทฐ(Code review)" Github์ ํ์ ์์คํ ์ ํตํด ํ๋ก์ ํธ ๊ด๋ฆฌํ๊ธฐ." date: 2020-06-09T17:53:21.352Z
tags: ["git","github","์๋ฐ์๋ท์ปด"]
yebalja.com ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉด์, 5๋ช ์ ํ์๋ค๊ณผ ํ์ ์ ๊ฒฝํํด๋ณผ ์ ์๋ ์ข์ ๊ธฐํ๊ฐ ์๊ฒผ๋ค. ์ ๋๋ก ๋ ํ์ ํ๋ก์ ํธ๋ฅผ ๊ฒฝํํด๋ณด์๋๋ฐ์ ์๊ฒฌ์ด ๋ชจ์๊ณ , ๊ทธ๋ฌ๊ธฐ ์ํด ๊นํ๋ธ๋ฅผ ์ด์ฉํ ํ์ ํ๋ก์ฐ๋ฅผ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ ํ์์ฑ์ ๋๊ผ๋ค.
์ฐ๋ฆฌ์ ์์ ๋ชฉํ๋ ์ด๋ ๋ค.
Issue
,Pull requests
,Kanban borad
๋ชจ๋ ์ด์ฉํด ํ๋ก์ ํธ ๊ด๋ฆฌํ๊ธฐ.Wiki
์ ๊ฐ๋ฐ์ผ์ง ๊ธฐ๋กํ๊ธฐ.๊ฐ๋ฐ ํ์๋ผ์ธ ์์ฑํ๊ธฐ.
๋ชจ๋ ์ปค๋ฐ ๋ฐ ๋ฌธ์๋ ์์ด๋ก ์์ฑํ๊ธฐ.
๋น์ฐํ ๋ชจ๋ ๊นํ๋ธ๋ฅผ ์ด์ฉํ๋ค. Github ํ๋๋ง์ผ๋ก๋ ์ด์ ๊ด๋ฆฌ, ์ผ์ ๊ด๋ฆฌ, ์ฝ๋ ๋ฆฌ๋ทฐ, ๋ฆฌํฌํธ ์์ฑ ๋ฑ ๋ถ์กฑํจ ์์ด ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
1. ํ์
ํ๋ก์ฐ
์ ์ฒด์ ์ธ ํ์ ํ๋ก์ฐ๋ ์๋์ 5๋จ๊ณ๋ฅผ ๋ฐ๋ฅธ๋ค.
์ด ํ๋ก์ธ์ค๋ ๋ชจ๋ ๊นํ๋ธ์ ์นธ๋ฐ ๋ณด๋์์ ๊ด๋ฆฌํ๋ค.
Kanban Borad ๋?
์นธ๋ฐ(Kanban)์ ์ผ๋ณธ๋ง๋ก ์นด๋ , ๋์ ๋ณด์ด๋ ๊ธฐ๋ก ์ด๋ผ๋ ๋ป์ด๋ค. ์นธ๋ฐ ๋ณด๋๋ ๊ฐ์ธ์ ์ธ ์์ค์์๋ ์กฐ์ง์ ์ธ ์์ค์์ ์์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์นด๋ ํ์์ผ๋ก ์ค์ผ์ค๋งํ๋ ๋๊ตฌํ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
๊ฐ ๋จ๊ณ์์ ์ค์ ๋ก ์ด๋ค ์์ ์ ํด์ผํ๋ ์ง๋ 3. ํ๋ฆฌํ์คํธ(pull request) ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด์๋ค.
2. Issue ๋ฐ branch ์ ๋ต
๋ด๊ฐ ์์ฑํ ์ฝ๋๊ฐ ๋ฆฌ๋ทฐ์์ด master branch๋ก push ๋๋ฉด ์๋๊ธฐ ๋๋ฌธ์, branch๋ฅผ ์ด๋ค ๊ธฐ์ค์ผ๋ก ์ผ๋ง๋ ๋ง๋ค์ง ์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค.
์ฐ๋ฆฌ ํ์ branch๋ฅผ ๊ธฐ๋ฅ๋ณ๋ก ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค. ๋ชจ๋ ์ด์๋ง๋ค branch๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ด์์ ์ด์ง๋ง, ๋ธ๋์น ๊ด๋ฆฌ์ ์ต์ํด์ง๊ธฐ ์ ๊น์ง๋ ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ์ด์์๋ง ๋ธ๋์น๋ฅผ ์์ฑํ๊ธฐ๋ก ํ๋ค.
Issue์ ๊ธฐ์ค?
ํ๋ก์ ํธ๋ฅผ ์งํํจ์ ์์ด ์๊ฒฌ์ด ํ์ํ ๋ชจ๋ ๊ฒ์ด ์ด์๋ผ๊ณ ๋ณผ ์ ์๋ค. ์๋ก ์ถ๊ฐ๋ ๊ธฐ๋ฅ, ๊ฐ์ ์ , ๋ฒ๊ทธ ๋ฑ๋ฑ. ๋ชจ๋ ํ๋์ ๋ํด์ ์ด์๋ฅผ ๋ฑ๋กํ๊ณ ๊ทธ ์ด์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ ์ ์งํํ๊ฒ ๋๋ค.
์ด์๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฑ๊ฒฉ์ ๋ฐ๋ผ ํ๊ทธ
๋ฅผ ๋ค๋ ๊ฒ์ด ์ข๋ค.
3. ํ ๋ฆฌํ์คํธ(pull request) ๋ฐฉ๋ฒ
1) branch ์์ฑ
๋ด๊ฐ ๋ด๋นํ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ ์ํด ๋ธ๋์น๋ฅผ ๋ง๋ ๋ค.
-b [๋ธ๋์น๋ช ]
: ๋ธ๋์น๋ฅผ ์์ฑํ๋ค.checkout [๋ธ๋์น๋ช ]
: ํด๋น ๋ธ๋์น๋ก ์ด๋ํ๋ค.git branch
: ์กด์ฌํ๋ ๋ธ๋์น ํ์ธ.
2) ์์
์ํ ํ add, commit, push
ํด๋น ๋ธ๋์น ๋ด์์ ์์ ์์
์ ์๋ฃํ์ผ๋ฉด, origin
์๊ฒฉ๋ธ๋์น์ ์์ ์ฌํญ์ ๋ฐ์ํ๋ค.
-u
์ต์ -u
์ต์ ์ ๋ช ์ํ๊ฒ ๋๋ฉด ํด๋น ๋ธ๋์น์์ origin๋ธ๋์น๋ก์ ์ ์คํธ๋ฆผ ๊ธธ์ด ํธ์ฌ์, ๊ทธ ๋ค์๋ถํฐ๋git push
๋ง ์ ๋ ฅํด๋ ์์์ origin๋ธ๋์น๋ก ์์ ์ฌํญ์ด ๋ฐ์๋๋ค.์ฐธ๊ณ ๋ก, ์๋ ์ธ ๊ฐ์ ๋ช ๋ น์ด๊ฐ ๋ชจ๋ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ค.
๋ฌด์จ ์ฐจ์ด์ ์ด ์๋ ํ๋๋ฐ,
Set upstream
์ ์๋ฏธ๊ฐ ๋ช ํํ์ง ์์์ ๋ํ ์ผํ๊ฒ ์๋ ค์ฃผ๋ ค๊ณset upstream to
๊ฐ ์๊ฒผ๋ค๊ณ ํ๋ค. 3๋ฒ์ด ๊ถ์ฅ์ฌํญ ์ด์ง๋ง, ๊ฐ๋จํ๊ฒ 1๋ฒ์ ์ฌ์ฉํ์...
3) ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ์ํ PR ์์ฑ
origin๋ธ๋์น์ Push ์๋ฃ ํ github ์ ์ฅ์ Pull requests ํญ์ ๋ค์ด๊ฐ๋ณด๋ฉด create pull request
๋ผ๋ ์ด๋ก ๋ฒํผ์ด ํ์ฑํ ๋์ด์๋ค.
๋ฉ์ธ์ง๋ฅผ ์์ฑํ๊ณ PR์ ์์ฑํ๋ค.
PR ์ ๋ชฉ์ ํด๊ฒฐ๋ฐฉ์ ์์ฃผ๋ก ์์ฑํ๋ค.
๋ฉ์ธ์ง๋ ์์ด-์ํ์ -ํ๊ธ ์์ผ๋ก ์์ฑํ๋ค.
4) ์ฝ๋๋ฆฌ๋ทฐ
์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋ช ๋ช ์๊ฒ ๋ฐ์์ง ์ค์ ํ ์ ์๋๋ฐ, ์ฐ๋ฆฌ๋ ํ์ ํ๋ก์ ํธ ์ด๋ฐ์ด๊ธฐ ๋๋ฌธ์ ํ์ ๋ชจ๋์๊ฒ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์์ผ PR์ ์๋ฃํ ์ ์๋๋ก ํ๋ค.
๋ฆฌ๋ทฐ์ด๋ PR์ ๋ํด 3๊ฐ์ง ์์ฌํํ์ ํ ์ ์๋ค.
Comment
: ๊ทธ๋ฅ ์ฝ๋ฉํธ๋ง ๋ฌ์์ค.Request changes
: ์ฝ๋์์ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ๋ค์ ์์ ํด๋ฌ๋ผ๊ณ ์์ฒญํ ์ ์์.Approve
: ์ด ์ฝ๋๊ฐ merge ๋๋ ๊ฒ์ ๋์ํจ.
5) Merge PR
Approve
๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ์ฝ๋์ ๋ํด PR ์์ฑ์๊ฐ ์ง์ merge ํ๋ค.
๐
๋ ! ํ์ค์ 4.์ฝ๋๋ฆฌ๋ทฐ
<-> 2.์ด์ ์์
์ ๋ฌดํ๋ฐ๋ณต์ด๊ฒ ์ง๋ง, ๊ทธ๊ฒ ๋ง์ ๋ ๋ด๊ฐ ๋ฐฐ์ฐ๊ณ ์ฑ์ฅํ ๊ธฐ๋ก์ด ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ์ ๋ง์์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์์ํด๋ณธ๋ค.
4. ์ฝ๋๋ฆฌ๋ทฐ ๋ฐฉ๋ฒ
๋ฆฌ๋ทฐ๋ฅผ ์์ฒญ๋ฐ์ ํ๋ฆฌํ์คํธ์ ๋ค์ด๊ฐ์
Add your review
์ ํด๋ฆญํ๋ค.์ฝ๋ฉํธ๋ฅผ ์ ์ ๋ค
approve
ํ๋ค.๋ง์ฝ ์ฝ๋์ ์์ ์ด ํ์ํ๋ค๋ฉด
Comment
๋ง ๋ฌ๊ฑฐ๋,Request change
๋ฅผ ์์ฒญํ ์ ์๋ค. ์ด ๊ฒฝ์ฐ์๋ Merge ์น์ธ์ด ๋์ง ์๋๋ค.
5. ์ฐธ๊ณ ์ฌ๋ก
Last updated